Hola
1 adoconnection, 2 adoquery.
Código Delphi
[-]
ADOQuery1.Close;
ADOQuery1.sql.text:= 'SELECT * FROM TABLA WHERE id_campo1 = :codigo';
ADOQuery1.Parameters.ParamByName('codigo').Value := '0123';
ADOQuery1.Open;
ADOQuery2.slq.text:= 'UPDATE TABLA SET id_campo2 = :id_campo2, id_campo3 = :id_campo3'+
'WHERE id_campo1 = :id_campo1';
ADOQuery2.Parameters.ParamByName('id_campo1').Value := ADOQuery1.Fields[0].Text;
ADOQuery2.Parameters.ParamByName('id_campo2').Value := ADOQuery1.Fields[1].Text;
ADOQuery2.Parameters.ParamByName('id_campo3').Value := ADOQuery1.Fields[2].Text;
ADOQuery2.Execute;
El numero aqui: Fields[0].Text dependera de la posicion en la tabla, tambien podria hacerse por byname.
Saludos