Delphi - Relación maestro/detalle con Query en Paradox

 
Vista:

Relación maestro/detalle con Query en Paradox

Publicado por Marina (64 intervenciones) el 01/03/2001 16:13:11
Estoy haciendo un ejemplo para probar como funciona una relación Maestro/Detalle y no he logrado que funcione. Estoy intentando grabar facturas. Paso a detallar lo que hice:
- Tengo 3 Querys con CachedUpdates en True
- Q1 : Tabla que contiene un solo campo (NROCPTE) y un solo registro. El campo se va incrementando en uno por cada factura que cargo
- Q2 : Tabla que contiene los datos generales de la factura (fecha y número), contiene 1 registro por cada factura (este es el query maestro)
- Q3 : Detalle de la factura, contiene varios registros por cada factura (este es el query detalle, ambos están relacionados por el campo NROCPTE)
Hago la relación mediante la propiedad DataSource del Q3, apuntando al DataSource del Q2

En la sentencia SQL del Q3 estoy poniendo lo siguiente:
SELECT * FROM TaDetFac D
WHERE (D.NROCPTE = :NROCPTE)

El ejemplo va agregando facturas, pero teniendo esta relación no puedo lograr que se grabe en la tabla de detalle de factura ningún registro, si se graba en las otras tablas. Qué puedo hacer?
Si quito la relación maestro/detalle si logro grabar correctamente

El orden en que voy haciendo el post es el siguiente: Q1, Q2, Q3
Estoy usando el método ApplyUpdates de la base de datos (en el array que se pasa como parámetro a este método los Querys van en el orden mencionado anteriormente)
También probé hacer el ApplyUpdates de cada Query por separado, dentro de una transacción, y tampoco funciona.

No se en realidad si conviene usar el ApplyUpdates de la base de datos o el de cada Query. Según he leído en el manual de Delphi, en una sección recomiendan usar un método y luego recomiendan usar el otro

Desde ya muchas graci
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