Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Se puede armar un dbgrid con la siguiente info ? (https://www.clubdelphi.com/foros/showthread.php?t=19483)

ale21alito 15-03-2005 23:32:36

Se puede armar un dbgrid con la siguiente info ?
 
tengo 2 tablas paradox

debes.db

IDCliente
Fecha
Total
Observacion

haberes.db

IDCliente
Fecha
Total
Observacion

Como puedo hacer para hacer un DBGrid con el siguiente formato

Para el cliente NRO 1

Fecha ____________ Observación ________Total Debe___TotalHaber

25/05/2004________ Pago a Cta ___________$ 100______________
26/05/2004________ Diseño Web_____________________$ 300

La idea es que se agrupen las 2 tablas bajo esos campos que comparten..
y se ordene por la fecha ASC.

Yo intente con

Código:


SELECT
H.IDCliente, D.IDCliente, D.Fecha, H.Fecha,
D.Observacion, H.Observacion, D.Total, H.Total
 
FROM debes.DB AS D, haberes.DB AS H
 
WHERE H.IDCliente = 1 AND D.IDCliente = 1 ORDER BY Fecha ASC

Pero me genera en el GRID Fecha Fecha_1, Observacion, Observacion_1
y repite de una manera rara los registros de una tabla tantas veces
como registros haya en la otra =( . me estoy volviendo loco.

Si me pueden ayudar lo agradeceria.

ES PARA UN SISTEMA DE CUENTA CORRIENTE.

Dayvis 15-03-2005 23:45:38

Hola, mira no soy un experto en esto pero te diria, que si se puede con la consulta que estas haceindo para que no te salgan esos nombres raros, de fecha, fecha 1 solo pon despues de la fecha: un as nombre para que te pongan los nombres y para que no se repitan los valores tienes que poner group by seria algo asi

SELECT H.IDCliente, D.IDCliente, D.Fecha as D_Fecha, H.Fecha as H_Fecha,
D.Observacion as D_Observacion , H.Observacion as H_Obseracion , D.Total as D_Total, H.Total as H_Total FROM debes.DB AS D, haberes.DB AS H WHERE H.IDCliente = 1 AND D.IDCliente = 1 ORDER BY Fecha ASC groub by h.idcliente

ale21alito 16-03-2005 00:53:55

ese codigo no me funciona ... pero intente con

SELECT IDCliente,Fecha,Total As Total_Debe,Observacion AS Detalle FROM debes.db WHERE IDCliente = 1 UNION ALL SELECT IDCliente,Fecha,Total As Total_Haber, Concepto AS Detalle FROM haberes.db WHERE IDCliente=1 ORDER BY Fecha ASC

ahora no me repite registros ... sino que los agrupa bien por fecha pero el UNION solo funciona con campos iguales y la misma cantidad y no se como hacer para que en la columna DEBE aparezca el total de debes y en la columna HABERES el total de los haberes.....

se puede hacer esto realmente ? como se soluciona un grid para una cuenta corriente similar a esta ?

ale21alito 16-03-2005 00:55:06

Estoy pensando en hacer 1 sola tabla con todos los campos .... =) .. asi se solucionaria .. pero no creo que sea lo correcto ....

yo necesito tirar un informe con QUICK REPORT .. pero necesito el QUERY potente que una las dos tablas y me prepare la información con ese diseño.

Pablo Carlos 16-03-2005 01:18:10

Hola.. en el query de consulta (me imagino que usas uno y muestras el resultado en el dbgrib) no veo que una por su id las dos tablas
osea where id tabla1 = id tabla2
Creo que con eso se soluciona
saludos bye

juanmdq 16-03-2005 17:49:16

Hola, probá con esta consulta, en access me funciona pero en paradox no estoy seguro si lo que hago es correcto.

Código:

SELECT
        IDCliente,
        Fecha,
        Observacion AS Detalle,
        Total As Total_Debe,
        0 As Total_Haber
FROM debes.db
WHERE IDCliente = 1
 
UNION ALL
 
SELECT
        IDCliente,
        Fecha,
        Observacion AS Detalle,
        0 As Total_Debe,
        Total As Total_Haber
FROM haberes.db
WHERE IDCliente=1

Saludos.


La franja horaria es GMT +2. Ahora son las 16:01:09.

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