Buenas Casimiro, tienes razón me tire a la piscina sin leer las guías de estilo del foro.
Vuelvo a plantear la pregunta a ver si esta vez me expreso mejor.
Estoy trabajando con Delphi Embarcadero® Delphi® 2010 frente a una base de datos de firebird 2.5.
Lo que pretendo es, al abrir un formulario desde una acción en otro formulario, que este se abra en modo insert, mostrándome los campos del formulario en blanco para la inserción, y cuando el usuario valide los datos de entrada, el formulario vuelva a ponerse en modo inserción sin que el usuario haga nada más que darle a la V “ post” de la barra de menús y así sucesivamente hasta que el usuario cierre la ventana del formulario.
Trabajo con un módulo de datos en el que tengo un tableset, que es el que necesito hacerle el insert cuando abra el formulario.
Lo que hago es cuando se pulsa el botón de acción del formulario llamador, el llamado se abre en modo insert por que en el evento FormPaint del formulario tengo.
Código Delphi:
Código Delphi
[-]
procedure From2.FormPaint(Sender: TObject);
var
Estado: TDataSetState;
begin
with ModuloDatos do
begin
if (tableset1.State <> dsInsert) then
BEGIN
LFDcampo.SetFocus;
tablaset1.last;
tableset1.insert;
END;
end;
end;
También lo he puesto “ y me convence más” en el evento del formulario OnShow, pero aquí al abrirlo me hace lo que quiero pero al validar el formulario no vuelve a insertar, para ello he puesto en los eventos AfterInsert ó AfterPost del dataset el código
Código Delphi
[-]
with ModuloDatos do
begin
if (tableset1.State <> dsInsert) then
BEGIN
tableset1.insert;
END;
end;
Pero este código no hace nada, pasa de mi.
La pregunta es: que evento hay después de una inserción en un dataset que pueda volver a ejecutar otro insert. o como debo de realizar esto....
Espero haberme explicado mejor…. Gracias por anticipado.