Hola a todos, tengo un problema al ir al ultimo registro de una tabla, no pasa siempre pero a veces va al anteultimo, es como si no guadara el ultimo Post.
Uso delphi 2009 con Mysql y componentes ADO.
* DM1 es el DataModule.
esto se produce en el OnClick de un Button
Código Delphi
[-]
DM1.TTablaCampo.Value:= Edit1.Text;
DM1.TTabla.Post;
Imprimir;
DM1.TTabla.Insert;
...sigue
el Proceso imprimir es bien simple, va al ultimo y lo manda a una impresora epson serie.
Código Delphi
[-]
procedure Imprimir;
var
TM: TextFile;
begin
DM1.TTabla.Last;
AssignFile(TM, 'COM1');
Rewrite(TM);
Write(TM, DM1.TTablaCampo.Value);
..sigue
El problema es que a veces pareciera que no hace el Last o mejor dicho lo hace pero aun no se ah grabado el post anterior antes de llamar al procedimiento Imprimir.
Lo mas raro es que intento de todo, antes de ir a last cierro la tabla y la conexion, vuelvo a abrir voy al ultimo y asi y todo algunas veces me imrpime el anteultimo, al registro lo guarda bien porque lo veo con MySQL Administrator, si cierro y abro el programa comienza a funcionar bien de nuevo.
antes de hacer Last le mande todo esto y sigue imprimiendo el anteultimo.
Código Delphi
[-]
DM1.TTabla.Active:= False;
DM1.ADOC1.Connected:= False;
DM1.ADOC1.Connected:= True;
DM1.ADOC1.Close;
DM1.ADOC1.Open();
DM1.TTabla.Active:= True;
a ver si alguien me puede dar una mano, desde ya muchas gracias.