Ver Mensaje Individual
  #3  
Antiguo 19-03-2014
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Reputación: 21
gorsan Va por buen camino
Buenos días.
Muchas gracias por responder. Se agradece.
No. No parece ser ese el caso ya que he deshabilitado las tres sentencias que señalas y el errror sigue produciendose.
Intentaré explicar un poco el concepto del programa.

Lo del Grid y el Form: es solo una forma alternativa de presentar al usuario, segun su iniciativa, los datos de una tabla, ya que ambos estan conectados al mismo DataSource que enlaza con la tabla. Si pulsa el boton "ficha" aparece lo que llamo la ficha que no es mas que un panel, PNEdition, con los controles DBEdit conectados a los distintos campos de la tabla. Si pulsa el boton "tabla" se presenta el grid que está debajo y que apunta a los mismos datos mediante el metodo GLista.BringToFront; y el panel PNEdicion con los controles DBEdit pasan a un segundo plano mediante el metodo PNEdition.SendToBack;
Sinceramente, no creo que el problema esté aquí. De hecho, he eliminado las 3 referencias al foco y la excepcion sigue produciendose.

Mi idea primera era que solo se puedieran añadir registros a la tabla a traves de la "ficha" mediante un boton (TBAdd: TToolButton) y con el codigo que expongo en mi anterior post, ya que cada nuevo registro lleva un número unico que se produce con un generador que manejo desde la BD (campo contador). Por tanto que desde el grid no se permitiera el metodo append, solo la edicion de los datos de los campos. Para ello disponía:
Código Delphi [-]
procedure TDMFicha.IBFichaBeforeInsert(DataSet: TDataSet);
begin
if WFicha.GLista.Focused then abort;
if WNomina.GListaN.Focused then abort;
end;
Digo disponia porque este codigo fue lo primero que descarté al comenzar a darse el error. Una vez descartado compruebo con asombro como desde el Grid sí que puedo añadir un registro y no solo editar los anteriores.
Por tanto y concluyendo, desde los dbedit que estan sobre el PNEdicion se editan los datos que ya estan en la tabla pero cuando pretendo añadir un nuevo registro, sobre estos mismos controles, e introduzco los nuevos datos de este, falla al hacer el metodo post dando la excepcion que comento.
No se si he aclarado el "pastel" que tengo liado pero lo de bringtofront y sendtoback no creo sea el problema y lo del setfocus tampoco.
Muchas gracias por vuestro esfuerzo.

Última edición por gorsan fecha: 19-03-2014 a las 08:38:00.
Responder Con Cita