PDA

Ver la Versión Completa : Table1:Datase not in Edit o Insert Mode


JamesBond_Mx
14-04-2004, 22:26:54
Por favor, ya no se que hacer, parece mentira, estoy tratando de hacer un pequeño proceso que me cambiara el valor de un campo en todos los registros de una tabla o sea que solo quiero que se le asigne un valor en especifico a todos los registro en ese campo, para esto pongo en el form un TTable, un TDatabase y un boton que me ejecutará el código, y en este pongo el siguiente código:


procedure TForm1.Button1Click(Sender: TObject);

Var
a:Integer;

begin
Database1.Connected:=True;
Table1.Active:=true;
Table1.Edit;
Table1.CachedUpdates:=True;
Table1.First;
For a:=1 to Table1.RecordCount do
Begin
Table1.FieldByName('Estado').Value:='Pendiente';
Table1.Post;
Table1.Next;
end;
Table1.ApplyUpdates;
end;


Y al tratar de ejecutarlo me envía el error mencionado en el encabezado del mensaje, ¿que es lo que me falta?, ¿por que si le estoy poniendo Table1.Edit, no me lo respeta?, cual es mi error???

Gracias.

guillotmarc
14-04-2004, 22:38:25
Hola.

El Table1.Edit lo tienes que hacer sobre cada registro a modificar, por tanto lo tienes que poner justo antes de la linea en que modificas el campo.

Saludos.

JamesBond_Mx
14-04-2004, 22:42:50
Yeeesss¡¡¡ si funcionó¡¡ muchas gracias... no se me vuelve a olvidar...

roman
14-04-2004, 23:19:44
Por si te interesa JamesBond (si no, por favor ¡no dispares! :D ) creo que la actualización que haces podría ser más sencilla y eficiente usando un Query:


Query1.SQL.Text = 'update tabla set Estado = pendiente';
Query1.ExecSQL;


// Saludos