To tentando executar isso ai mas da erro de sintaxe de sql, o q poderia ser
Banco MySQL... var sql: String; idCargo: Integer; begin idCargo := Integer(cbCarPro.Items.Objects[cbCarPro.ItemIndex]); //recebo o id do cargo //monto a primeira parte da string sql de atualização sql := 'update processo set idcar = "' + inttostr(idCargo) + '", valselpro = ' + QuotedStr(edValSelPro.text) + ', obspro = ' + QuotedStr(edObsPro.text); //verifica se a checkbox está marcada para finalizar o processo if cbStaPro.Text = 'finalizado' then begin //monta a parte do meio da query caso necessário sql := sql + ', stapro = ' + QuotedStr(edObsPro.text) + ', datfimpro = ' + QuotedStr(edDatFimPro.text) + ', valpro = ' + QuotedStr(edValPro.text); edValPro.Enabled:=true; edValPro.Color:=clWIndow; end else begin edValPro.Enabled := false; edValPro.Color := clInfoBk; end; sql := sql + ' where idpro = "' + idProcesso + '" '; //finaliza a query showmessage(sql); with ZQuery1 do begin Active := False; Sql.Clear; Sql.Add(string(sql)); ExecSql; showmessage('Processo alterado com sucesso!'); end; ZQuery2.Refresh; end; -- Jhosef Marks de Carvalho Delphi Developer http://groups.google.com/group/soumaisdelphi [As partes desta mensagem que não continham texto foram removidas]