Bienvenido a ClubDelphi
rodocucea
¿Qué base de datos usas y qué componentes? (access con ADO?).
Por regla general debes usar esto:
Código Delphi
[-]
query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('UPDATE dbprovee SET Activo=false where codigo='+QuotedStr(dbedit1.text);
Query2.ExecSQL;
if Query2.RowsAffected = 0 then
ShowMessage('Funcionó pero no encontró registros para actualizar.')
else
ShowMessage(inttostr(query2.RowsAffected) + ' registros afectados.');
Query2.Open es idéntico a Query2.Active := true
Query2.Close es idéntico a Query2.Active := false;
Query2.ExecSql se usa para sentencias del tipo UPDATE, DELETE, CREATE,... mientras que
Query2.Open se usa para sentencias SELECT
No puedes incluir un .Open (o Active := true) con un ExecSql nunca.
Tu código es algo confuso, precisamente por las pruebas que has hecho, inténtalo así.
Saludos
Saludos