Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Tabla pasa de estado dsInsert a dsBrowse (https://www.clubdelphi.com/foros/showthread.php?t=92108)

martin17476 28-07-2017 12:15:52

Tabla pasa de estado dsInsert a dsBrowse
 
Buenos días, espero que no sea un hilo duplicado, pero no puedo encontrar un tema similar en el Foro. Tengo una aplicación Delphi 2010 con FireBird. A la hora de insertar un registro, después de insertar el primer campo pasa a estado dsBrowse y no permite actualizar el resto de los campos, saliendo el error " ZTable is not in Edit or Insert Mode". Éste es el código:

Código Delphi [-]
  With dmAGFB do
  begin
    ZFiTall.Insert;
    ZFiTallFechaEntrada.Value := StrTodate(eFecha.Text);
    ZFiTallCodCli.Value := iCICL;
    ZFiTallCliente.Value := sCliNom;
    ZFiTallCodmaq.Value :=  iCIM;
    ZFiTallMaquina.Value := sMaq;
    ZFiTallAveriaSC.Text := mASC.Lines.Text;
    ZFiTallSituacion.Text := mSituacion.Lines.Text;
    ZFiTallConvertido.Value := 'N';
    ZFiTall.Post

  end;

Después de actualizar el primer campo (ZFiTallFechaEntrada) al saltar a la siguiente línea, el estado ya ha pasado a dsBrowse.

Si alguien puede ayudar, estaré muy agradecido.

cloayza 28-07-2017 16:35:36

Estimado martin17476, poco se puede ver con el código que colocas, pero aún así te sugiero lo siguiente:

1) Verificar los eventos asociados a la ZFiTall, quiza en alguno de ellos estes cambiando el estado de edición
2) Verifica los eventos del ZFiTallFechaEntrada, OnSettext, OnGetText, OnValidate, pudiera que en estos estés cambiando de el estado de edición

Bueno eso se me ocurre por ahora.

Saludos cordiales

martin17476 29-07-2017 09:50:50

Aún no funciona
 
Gracias cloayza por tu amable ayuda. No tengo eventos asociados a la tabla ni a los campos que se han de actualizar.

Te doy algunos detalles más. Esta parte de mi programa trata con fichas de trabajo de un taller. Tiene un menú con Alta y otro con edición de fichas. Si abres el programa y vas directamente a Alta de ficha, no se da el problema del cual hablamos. Si vamos primero a edición ( aquí a parece en escena otra tabla, las lineas de la ficha) y luego voy a alta de ficha, entonces si se da el problema. He repasado, pero no encuentro donde está el problema, que debe estar ahí.

Quizá se te ocurra algo con esta nueva información.

Saludos

martin17476 29-07-2017 10:48:30

Hola de nuevo, creo que ya sé dónde está el problema. Al abrir la ficha de edición tengo una relación MasterSource en tiempo de ejecución del tipo FiTall.MasterSource := dsZClientes. Si lo anulo, no se da el problema. Pero necesito esa relación y no sé como desactivar esta relación cuando abandono la ficha. ¿Alguna idea?

martin17476 29-07-2017 11:49:56

OK Ya está. Para desactivar el Master Detail: Table.mastersource := nil.

Gracias


La franja horaria es GMT +2. Ahora son las 21:56:22.

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