FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Problema con consulta en Maestro-Detalle
Hola. Tengo un sistema de facturación. Tengo 3 tablas: CLIENTES, FACTURAS, DETALLES en Paradox. Tengo relacionadas las tablas de modo que un Cliente puede tener muchas Facturas y cada factura puede tener muchos Detalles ( de productos). Tengo un Form con DBEdits para las claves primarias de las tablas. Quisiera navegar por los registros de la tabla FACTURAS de modo que al desplazarme por la tabla me muestre en el Form el cliente que la tiene y el respectivo detalle de productos que adquirio. La relacion Maestro-Detalle es CLIENTES->FACTURAS->DETALLES. Para la consulta SQL tengo un Query que no he podido configurar correctamente, solo me puedo desplazar por la tabla CLIENTES ya que es la tabla Maestra de mas alto rango. El problema se radica en que no puedo desplazarme por la tabla FACTURAS para rescatar la clave secundaria correspondiente a la clave primaria de CLIENTES para asi poder hacer la consulta con ese valor y pasarlo como parámetro en el Query. Me gustaria que alguien me dijera si cometi algún error o me faltan cosas por declarar
Propiedades del Query: - DataBaseName: El alias correspondiente - DataSource:TClientes
Última edición por TrUnkS fecha: 10-10-2006 a las 07:55:02. |
#2
|
||||
|
||||
Creo que no lo acabo de entender.
Si estas creando la ventana de Facturas, solamente es una Relación Maestro-Detalle (Facturas- Productos). En esa ventana colocas un DBLookUpComboBox con las siguientes propiedades: DataSource:= Tblfactura Field := FAC_CLI_ID; ListSource:= TblClientes keyField := CLIENTE_ID; // CAMPO DE LA TABLA CLIENTES: DisplayFields := Nombre_cli; // campo que contiene el nombre //del cliente de la tabla Clientes. Puesto que me quedan dudas, quizás esto tambien te sirva: Si en realidad necesitas esa "doble relación maestro-detalle" CLIENTES-> FACTURAS y FACTURAS->PRODUCTOS puedes hacerlo mediante consultas. La filosofía es: Tienes 3 Grids, uno con los clientes que tienen facturas, al seleccionar uno, te aparecen todas las facturas que tiene ese cliente en otro Grid, al seleccionar una Factura, se muestran todos los productos de esa Factura. qryClientes:
qryFacturas
qryDetalles:
Ahora ponemos un TDatasource asociados a cada consulta, sus nombres serán DTSclientes, DTSfacturas, DTSdetalles. Selecciona la qryDetalles y en su propiedad MasterSource asigna DTSFacturas Selecciona la qryFacturas y en su propiedad MasterSource asigna DTSClientes por supuesto puedes poner 3 DBNavigator asociados a cada consulta. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Hola y gracias por responder. Mi problema ya lo solucione aprovechando tu ayuda gracias . El problema radicaba en que al ir navegando por los registros de la tabla FACTURAS debia indicarme la clave de CLIENTES y ademas poner en un DBGrid los productos o detalles. Pero como tenia hecha la relacion Maestro-Detalle no podia sino navegar por los registros de la tabla CLIENTES para que me vaya mostrando todo, pero eso no es lo que queria. Al final elimine el Query e implanté el siguiente código para el botón "siguiente registro" por ejemplo y me funcionó de maravilla:
con esto puedo navegar por los registros de la tabla FACTURAS indicando el cliente que la posee y los detalles de productos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema tabla Maestro-detalle en la q la pk de t.detalle formad por 2cods de la maes | akinom38 | Varios | 1 | 09-11-2007 19:27:44 |
Consulta Maestro Detalle | Acker | SQL | 1 | 10-07-2006 19:25:58 |
Problema con maestro detalle | escullar | Impresión | 2 | 21-12-2005 09:53:01 |
Problema con Maestro-Detalle | Rox77 | Conexión con bases de datos | 2 | 28-07-2003 11:28:39 |
Problema con Maestro-Detalle | Rox77 | Tablas planas | 1 | 28-07-2003 09:42:21 |
|