Delphi - Maestro-Detalle

 
Vista:

Maestro-Detalle

Publicado por Alfredo Angulo (20 intervenciones) el 18/08/2004 00:27:10
Tengo un problema acerca de una captura Maestro-Detalle(Facturación), lo que pasa es que cuando estoy capturando en el DbGrid(Detalle) el segundo registro en el campo "Clave Producto", me pone bien la "Descripción", pero en el registro anterior me BORRA la "Descripción", estoy usando un campo "Lookup" no se que estará pasando, alguna sugerencia al respecto se los agradeceria mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Maestro-Detalle

Publicado por BigLuis (713 intervenciones) el 18/08/2004 17:32:57
Yo para las relaciones maestro detalle utilizo mucho el siguiente sistema: Para la tabla maestra utilizo un componente cualquiera (megustan mucho los componentes SQL) y para la de detalle un componente SQL con la instruccion "SELECT * FROM TABLADETALLE WHERE IDMAESTRO(campo relacionado)=:IDMAESTRO;
En el componente SQL detalle le fijo a la propiedad datasource el datasource que he asociado al componente Maestro y de esta forma cada vez que en la tabla maestra cambia el registro llama automaticamente a la consulta SQL detalle y le pasa el parametro IDMaestro internamente sin que tu tengas que escribir mas codigo.
¿Me has comprendido?
Ambas tablas tienen el campo comun IDMaestro.En la maestra IDMaestro es el campo clave unico y en la detalle es el campo de relacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Maestro-Detalle

Publicado por Alfredo Angulo (20 intervenciones) el 19/08/2004 01:35:35
ok, estoy de acuerdo contigo, de hecho asi lo manejo, pero ahora tengo el siguiente problema...
Tengo un Maestro-Detalle, en el Detalle tengo un Campo tipo "Lookup" para hacer referencia a otro campo de otra Tabla y que me despliegue su "descripcion" cuando capturo su "Clave", cuando acceso al detalle agregandole registros en un dbGrid, todo marcha bien hasta pareciera que esta funcionando correctamente, todos los registros del campo "Lookup" estan bien cada registro con su Descripcion, el detalle es que cuando Grabo y lo vuelvo a abrir el mismo, todos los registros del mismo campo(Lookup) se me desaparecen, a veces me aparece solo un registro con la Descripción, el detalle esta cuando yo cierro la Aplicacion y la vuielvo a abrir, abriendo de nuevo la misma Factura, ahora si me muestra correctamente todos los registros con la Descripcion Correcta, ¿Que estara Pasando aqui?, siendo que hago un refresh al dataset antes de aceptar la transacción, manejo componentes IBX-Firebird 1.5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Maestro-Detalle

Publicado por Andy (8 intervenciones) el 19/08/2004 16:20:59
a mi me paso lo mismo, no se si es la solucion mas elegante pero lo solucione de la siguiente forma:
yo tenia el loockup a una base en datamodule, cuando por alguna razon tocaba esta base los loockup desaparecian en las grillas de consulta, lo resolvi, colocando la tabla en el formulario y suandola solo para hacer el loockup.
Espero te sirva, suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar