|
Hola Neftali
La idea es que los Controles DBEdit estan asociados al Dataset al inicio usaba DBNAvigator, pero quise reemplazarlos por codigo.
Aqui esta el codigo para el boton "NUEVO/GRABAR", la operacion se alterna.
-------------------------------------------------------------
procedure TFClientes.Button3Click(Sender: TObject);
begin
if Button3.Caption = 'Nuevo' then
begin
DesBloqueos(); // ---> Desbloquea los controles: REadOnly = False;
Button1.Enabled:=TRue; // ---> Boton que canecla la operacion
Button4.Enabled:=False;
Button2.Enabled:=False; // ---> Botones Editar, Buscar,Eliminar
Button5.Enabled:=False;
Panel2.Visible:=false; // ---> Contiene DBGrid con relaciones Detalle
Datamodule1.Database2.StartTransaction;
Datamodule1.CLIENTES.Insert; // ---> CLIENTES es el Dataset
Button3.Caption := 'Grabar';
DBedit1.SetFocus;
end
else // ---> Si el Boton tiene en Caption "GRABAR" entonces.....
begin
Aceptado:=True;
AsegurarCli(); // ---> Procedimiento verifica no hayan campos en blanco.
if Aceptado then
Begin
EstInicial(); // ---> Bloqueo campos: readOnly = true;
Panel2.Visible:=true;// ---> Muestro la relacion detalle;
Datamodule1.CLIENTES.Post;
Datamodule1.Database2.Commit;
Abertura(); // ---> Aqui me toca abrir los dataset uno a uno
// ---> de lo contrario muestra campos en blanco
Datamodule1.CLIENTES.Last; // ---> Supuestamente el que agregó.
end
else
begin
showmessage('Faltan datos por llenar');
DBEdit1.SetFocus;
end;
end;
end;
--------------------------------------------------------------------
No se si la forma en que traté de imitar el comportamiento del DBnavigator este bien, tengo botones: Nuevo, Editar, Eliminar. Pero con los botones del BDNAvigator, no se cierren los dataset.
Tengo entendido que en una Base de datos Cliente servidor, no se habla de Tablas ni de pocisiones de registros como se trabaja en Bases de datos de Escritotio, por ello considere que el comportamiento era algo normal.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
|