Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2012
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Master Detail con querys

Buenas noches, no se si el titulo se haga entender pero tengo una duda
imaginemos que tengo un query donde acumulo los consumos por producto algo asi como esto

Código SQL [-]
Select Kod, Sum (Cantidad) As Cant from detalle where fecha = '01/07/2012'

es obvio que esta sumatoria se basa en un detalle
me gustaria saber como hacer para que se muestre el detalle de cada una de las sumas de las cantidades que se muestran en una grilla

tengo la idea de generar un query con el detalle
Código SQL [-]
Select Kod, Cantidad from detalle where fecha = '01/07/2012'

pero queria saber si existe alguna forma de hacerlo mas automatico, porque abrir el query cada vez que se mueve el registro en el grid.. demora un poco

alguien conoce una forma mas optimizada?

gracoas
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 03-07-2012
CoCaInE CoCaInE is offline
Miembro
 
Registrado: nov 2005
Posts: 66
Poder: 19
CoCaInE Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
Buenas noches, no se si el titulo se haga entender pero tengo una duda
imaginemos que tengo un query donde acumulo los consumos por producto algo asi como esto

Código SQL [-]
Select Kod, Sum (Cantidad) As Cant from detalle where fecha = '01/07/2012'

es obvio que esta sumatoria se basa en un detalle
me gustaria saber como hacer para que se muestre el detalle de cada una de las sumas de las cantidades que se muestran en una grilla

tengo la idea de generar un query con el detalle
Código SQL [-]
Select Kod, Cantidad from detalle where fecha = '01/07/2012'

pero queria saber si existe alguna forma de hacerlo mas automatico, porque abrir el query cada vez que se mueve el registro en el grid.. demora un poco

alguien conoce una forma mas optimizada?

gracoas
mmmmmmm....debes de tener un campo con la misma longitud y tipo en la tabla maestro y en la tabla detalle luego tienes que enlazarlas por medio a ese campo suponiendo que el campo kod es el campo de elance entre las dos tablas y quieres mostrar la sumatoria en el detalle seria algo asi para el query del detalle

Código SQL [-]
Select Kod, Cantidad from detalle where fecha = '01/07/2012' group by Kod
Responder Con Cita
  #3  
Antiguo 03-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Aunque tampoco debe tardar al cambiar de registro, salvo que no tenga índice el campo o, no sé, algo raro. No debe tardar.
Responder Con Cita
  #4  
Antiguo 03-07-2012
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Hay algo que no me cuadra, y es que a la primera select le falta el group.

Y como dice Casimiro, no debe tardar demasiado en hacer una select simple, a menos que tenga una conexión muy mala con la base de datos o que no tengas indice o lo que sea.

A lo mejor quieres mejorar el rendimiento por la carga inicial, que tardará más de la cuenta. Si es por eso, lo mejor es usar:
Código Delphi [-]
   ClientDataSet1.DisableControls;
   CargarDatos;
   ClientDataSet1.EnableControls;

Y ya no se me ocurre nada más
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #5  
Antiguo 04-07-2012
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por ozsWizzard Ver Mensaje
Hay algo que no me cuadra, y es que a la primera select le falta el group.

Y como dice Casimiro, no debe tardar demasiado en hacer una select simple, a menos que tenga una conexión muy mala con la base de datos o que no tengas indice o lo que sea.

A lo mejor quieres mejorar el rendimiento por la carga inicial, que tardará más de la cuenta. Si es por eso, lo mejor es usar:
Código Delphi [-]
   ClientDataSet1.DisableControls;
   CargarDatos;
   ClientDataSet1.EnableControls;

Y ya no se me ocurre nada más
es cierto
me olvide colocar el group
he probado la opcion de abrir y cerrar un segundo query y funciona rapido
ahora quisiera preguntar, en el grid en que parte debo colocar el codigo para que cuando me mueva de registro en registro se active el segundo query

en este momento lo estoy haciendo en el keyup
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 04-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por oscarac Ver Mensaje
en el grid en que parte debo colocar el codigo para que cuando me mueva de registro en registro se active el segundo query en este momento lo estoy haciendo en el keyup
En el grid, no, en el dataset o en su datasource, en el evento de cambio de registro, creo que era onchange, no tengo ahora ningún delphi por aquí.
Responder Con Cita
  #7  
Antiguo 05-07-2012
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Como no sé exactamente que has hecho...

Si son campos calculados, probaría en el OnCalcFields.

Lo que se lanza seguro cada vez que te mueves de registro es el AfterScroll.

Un saludo.
__________________
La Madurez se llama...
~~~Gaia~~~
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
Master - Detail 2 HectorMendez SQL 2 30-04-2008 22:10:03
DBLookupComboBoxs Master/Detail o Detail/Master yusnerqui OOP 5 29-07-2005 18:40:20
master/detail, imprimiendo master en cada hoja acalderonr Impresión 4 29-11-2003 14:46:07
interbase:¿como crear un master-detail-detail? ElSanto24 Firebird e Interbase 2 22-10-2003 10:24:45
Master/Detail/Detail/Detail/etc... hgiacobone Tablas planas 2 24-07-2003 17:20:31


La franja horaria es GMT +2. Ahora son las 03:46:05.


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