Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2014
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Un método append que funciona en un Grid y falla en un TForm con controles

Hola de nuevo. Diréis que soy un poco inútil pero me pasa una cosa curiosa que paso a detallaros a continuación:

En un Modulo de datos tengo una IBDataSet y un DataSet apuntando a él.
Sobre un formulario dispongo un Grid enlazado a ese DataSet de modo que el TForm queda encima y el grid debajo y mediante lo siguiente conmuto entre uno y otro:
Código Delphi [-]
procedure TWFicha.TBFichaClick(Sender: TObject);
begin
   PNEdicion.BringToFront;
   GLista.SendToBack;
   if TBTabla.Down = True then TBTabla.Down := False;
   if TBFicha.Down = False then TBFicha.Down := True;
end;

Código Delphi [-]
procedure TWFicha.TBTablaClick(Sender: TObject);
begin
   GLista.BringToFront;
   PNEdicion.SendToBack;
   if TBTabla.Down = False then TBTabla.Down := True;
   if TBFicha.Down = True then TBFicha.Down := False;
   GLista.SetFocus;
end;

En el formulario dispongo tantos controles DBEdit como campos hay en el grid. Bueno pues la cuestión es que desde el grid el método append funciona perfectamente y añade un nuevo registro sin problemas. Pero si desde el Form dispongo de una botonera para ejecutar el método append y luego el post como sigue:

Código Delphi [-]
procedure TWFicha.TBAddClick(Sender: TObject);
begin
   TBAdd.Enabled:=False;
   TBEditar.Enabled:=False;
   TBBorrar.Enabled:=False;
   TBGrabar.Enabled:=True;
   TBCancelar.Enabled:=True;
   TBCargarFoto.Enabled:=False;
   TBEliminarFoto.Enabled:=False;
   TBCalcular.Enabled:=False;
   TBCerrar.Enabled:=False;
   TBImprimir.Enabled:=False;
   TBSalir.Enabled:=False;
   EBuscar.SetFocus;
   with DMFicha.IBStoredProc1 do
    begin
     StoredProcName:='GENERADOR_TRABAJADOR';
     Prepare;
     ExecProc;
   end;
   with DMFicha.IBFicha do
    try
       DisableControls;
       Close;
       Open;
       Append;
    finally
       EnableControls;
    end;

   WFicha.DBCONTADOR.Text:=IntToStr(DMFicha.IBStoredProc1.Params[0].Value);
   WFicha.DBAlta.Text:=DateToStr(Now);
   WFicha.DBBAJA.Text:='';
   DMFicha.IBStoredProc1.Close;
   DMFicha.IBFicha.Post;
   {NuevoRegistro:=True;}
   DBPRIMER_APELLIDO.SetFocus;
end;

Código Delphi [-]
procedure TWFicha.TBGrabarClick(Sender: TObject);
begin
   TBAdd.Enabled:=True;
   TBEditar.Enabled:=True;
   TBBorrar.Enabled:=True;
   TBGrabar.Enabled:=False;
   TBCancelar.Enabled:=False;
   TBCargarFoto.Enabled:=True;
   TBEliminarFoto.Enabled:=True;
   TBCalcular.Enabled:=True;
   TBCerrar.Enabled:=True;
   TBImprimir.Enabled:=True;
   TBSalir.Enabled:=True;
   DMFicha.IBFicha.Edit;
   DMFicha.IBFicha.Post;
end;

Otra cosa curiosa es que sobre los controles del Form puedo editar los datos y guarda los cambios directamente sin el post pero no permite el método append lanzando la siguiente excepción:
"cannot focus a disabled or invisible window"
Alguna idea. Seguro que es la tontería mas grande del mundo pero no lo veo.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Encontrar objeto por su nombre, encontrar metodo, ejecutar metodo coso Trucos 7 02-09-2011 00:23:13
edit autocompletado mediante grid no funciona Rofocale Varios 3 17-05-2011 04:45:55
[IE7] Método POST no funciona alapaco PHP 8 05-06-2008 21:27:26
uso de append en tabla macro32 Conexión con bases de datos 5 21-04-2008 19:35:04
Método accesible desde varios controles en diferentes forms athlontado OOP 9 29-10-2004 16:10:16


La franja horaria es GMT +2. Ahora son las 20:18:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi