Ver Mensaje Individual
  #3  
Antiguo 11-12-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Reputación: 20
FelipeDiaz Va por buen camino
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!
Responder Con Cita