este es otro formulario, pero con el mismo problema, te agrego las lineas de codigo del formulario de consulta y de entrada, eso es todo lo que tnego en los dos formularios.
formulario consulta out_paises
Código Delphi
[-]procedure Tout_paises.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
out_paises:=nil;
end;
procedure Tout_paises.gridDblClick(Sender: TObject);
var
sql:string;
begin
nuevo_registro:=false;
if validar_grid(ds)then
begin
Application.CreateForm(Tin_paises,in_paises);
sql:='select * from pais where codigo='+ds.DataSet.fieldbyname('codigo').AsString;
crear_query_live(in_paises,dm.Database,in_paises.ds,sql);
in_paises.ds.DataSet.Edit;
in_paises.show;
end;
end;
procedure Tout_paises.nuevoClick(Sender: TObject);
var
sql:string;
begin
nuevo_registro:=true;
Application.CreateForm(Tin_paises,in_paises);
sql:='select * from pais limit 0';
crear_query_live(in_paises,dm.Database,in_paises.ds,sql);
in_paises.ds.DataSet.Append;
in_paises.show;
end;
procedure Tout_paises.buscarClick(Sender: TObject);
var
sql:string;
begin
sql:='Select * from Pais';
crear_query(out_paises,dm.database,ds,sql);
end;
procedure Tout_paises.cancelarClick(Sender: TObject);
begin
close;
end;
formulario entrada in_paises
procedure Tin_paises.cancelarClick(Sender: TObject);
begin
close;
end;
procedure Tin_paises.FormClose(Sender: TObject; var Action: TCloseAction);
begin
out_paises.Enabled:=True;
Action:=cafree;
in_paises:=nil;
end;
procedure Tin_paises.FormPaint(Sender: TObject);
begin
out_paises.enabled:=false;
end;
procedure Tin_paises.FormShow(Sender: TObject);
begin
if out_paises.nuevo_registro=false then
s2:='¿Desea guardar los cambios?'
else
s2:='¿Desea salvar este registro?';
end;
procedure Tin_paises.salvarClick(Sender: TObject);
var
ok:integer;
begin
if validar_dbedit(descripcion,'Digite la Descripcion...!!')then
begin
ok:=mensaje_aviso(s2,'&Si','&No');
IF ok=1 Then
begin
ejecutar_query(dm.Database,'BEGIN WORK');
if codigo.Text='' then
begin
codigo.Text:='0';
ds.dataset.post;
end
else
ds.DataSet.post;
out_paises.buscar.ButtonClick;
ejecutar_query(dm.Database,'COMMIT WORK');
close;
END
else
if ok=2 then close;
end;
end;
//Lo edite para poner las etiquetas Delphi