Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2022
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Maestro Detalle

Buenas noches gente, tengo dos tablas llamadas 1_productos y 2_detalle_productos, mi problema es el siguiente cuando quiera que me muestre los productos con sus respetivos detalles solo me muestran los productos que tienen asignados los detalles, yo necesitaria que me haga una muestra general
las consulta las hago desde dos FDquery. y llamados

FDQProductos, y FDQDet_Productos.

En el FDQDet_productos en Master source = DataSource_productos
Master Fiel = id_productos
indexFielName = id_productos_detalle
asi como fue que las enlace

P/D Mir problema es que como selecciono una fecha desde hasta solo me muestra los productos que tiene detalles asignados de la tabla y yo necesito que me muestro todos los productos tengan o no detalle.

espero haberme hecho entender
Responder Con Cita
  #2  
Antiguo 07-06-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
¿Cómo obtienes los datos? ¿Cuales son las consultas? Si no lo explicas en detalle no podemos ser concretos con las respuestas.

Lo que se muestra en el maestro depende de la consulta, o el filtrado, que tengas establecido.
Que los detalles de los productos se seleccionen por fecha no implica que deba aplicarse esa selección también a los productos.
Yo estas estructuras maestro-detalle siempre las hago usando tQuerys y no hay problemas en mostrar maestros sin lineas de detalle.
Responder Con Cita
  #3  
Antiguo 07-06-2022
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
respuesta

Muchas gracias por responder, Los datos los obtengo con las consulta Select y Betwen fecha desde hasta tanto para FDQproductos y FdqDetalle aparentemente lo estoy haciendo mal podrias pasarme algunos links o algun codigo para poder ver. porfa
Responder Con Cita
  #4  
Antiguo 07-06-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero pon la consulta sql que estás usando, así se te podrá ayudar.
Responder Con Cita
  #5  
Antiguo 08-06-2022
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Respuesta a Casimiro

Código Delphi [-]
      with DataModule1.FDQTURNOS2 Do
      begin
       SQL.Clear;
       SQL.Add ('SELECT * FROM turnos WHERE fec_tur BETWEEN :FECHADESDE AND :FECHAHASTA ORDER BY fec_tur, hor_tur ASC');
       params.ParamByName('FECHADESDE').AsDate := DateTimePicker1.Date;
       params.ParamByName('FECHAHASTA').AsDate := DateTimePicker2.Date;
  
       Open();
     end;
     ////////////////////////////////////////////////////////////

    with DataModule1.FDQPAGOS2 Do
    begin
     SQL.Clear;
     SQL.Add ('SELECT * FROM pagos WHERE fec_pag BETWEEN :FECHADESDE AND :FECHAHASTA ORDER BY fec_pag, hor_pag ASC');

     params.ParamByName('FECHADESDE').AsDate := DateTimePicker1.Date;
     params.ParamByName('FECHAHASTA').AsDate := DateTimePicker2.Date;
     Open();
      end;

  DataModule1.FRXREPORT_PAGOS.ShowReport();



Este seria el codigo desde un Boton en Delphi.
Responder Con Cita
  #6  
Antiguo 08-06-2022
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Intente de esta dos maneras pero tambien sólo muestra datos si existen registros en ambas tablas relacionados. Si no hay detalle para un determinado producto, ese producto no aparecen.

por ejemplo en turno si no tengo ningun pago no aparece.

SELECT T.*, P.* FROM turnos T
RIGHT JOIN pagos P ON P.id_tur_pag = id_tur
y

SELECT T.*, P.* FROM turnos T
LEFT JOIN pagos P ON P.id_tur_pag = id_tur
Responder Con Cita
  #7  
Antiguo 08-06-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Solo una sql, algo como:

Código SQL [-]
select tablamaestro.*, tabladetalle.*
from tablamaestro
left join tabladetalles on (id.tablamaestro=id.tabladetalle)
... resto de condiciones de fechas y orden ...
Responder Con Cita
  #8  
Antiguo 08-06-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Yo en primer lugar comprobaría que la consulta principal muestre lo deseado. Pruébala directamente sobre tu BD, ¿obtienes todos los resultados incluidos los que no tienen lineas de detalle?

A mi este artículo en su momento me ayudó mucho con todo lo relacionado con Maestro-Detalle:
https://edn.embarcadero.com/article/30330
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DataSets Maestro - Detalle acceso al detalle delphijm Conexión con bases de datos 7 10-02-2011 15:51:53
Saber si el DBGrid (Detalle) esta Vacio en Relacion Maestro/Detalle Adrian Murua Conexión con bases de datos 2 03-01-2009 13:48:46
Maestro/Detalle (No graba en tabla Maestro) teclilla Tablas planas 12 21-04-2008 20:59:54
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
Maestro-Detalle ;Actualizar detalle a partir de un DBgrid norberto_larios Conexión con bases de datos 1 11-09-2004 18:17:34


La franja horaria es GMT +2. Ahora son las 18:30:01.


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
Copyright 1996-2007 Club Delphi