А в чем проблема? Что конкретно не получается?
Идея, в принципе, правильная. Теперь просто в цикле надо обновить все записи. Ты не написал каким образом у тебя сделано выделение разных записей и какое значение надо присвоить полю otvetstvenniy. Если одно и тоже, то можно схитрить - все сделать одним запросом.
Пусть у тебя есть массив идентификаторов записей (как ты его соберешь - другой вопрос, что бы на него ответить надо больше информации). Тогда запрос можно сделать так:
Код:
var
AID : Array Of Integer; // array with ids
I : Integer;
strIn : String;
begin
...
strIn := '';
For I := Low(AID) To High(AID)-1 Do
strIn := strIn + AID[i] + ', ';
strIn := '(' + strIn + AID[High(AID)] + ')';
...
mQuery.SQL.Text := 'UPDATE tab_prolongatsiya SET otvetstvenniy = :otv WHERE id_prolongatsiya IN ' + strIn;
myQuery.Parameters.FindParam('otv').Value := f_prolongatsiya.DBLookupComboBox2.Text;
myQuery.ExecSQL;
...