Visual Basic - SQL = "SELECT Sum(PDAT01_D.debe) AS Debe, Sum

Life is soft - evento anual de software empresarial
 
Vista:

SQL = "SELECT Sum(PDAT01_D.debe) AS Debe, Sum

Publicado por jose (61 intervenciones) el 01/01/2003 08:06:12
Dim SQL As String
SQL = "SELECT Sum(PDAT01_D.debe) AS Debe, Sum(PDAT01_D.haber) AS Haber "
SQL = SQL & "FROM PDAT01_C INNER JOIN PDAT01_D ON (PDAT01_C.cia = PDAT01_D.cia) AND (PDAT01_C.division = PDAT01_D.division) AND (PDAT01_C.nopda = PDAT01_D.nopda) "
SQL = SQL & "GROUP BY PDAT01_C.cia, PDAT01_C.division, pdat01_c.nopda, PDAT01_C.ano, PDAT01_C.mes "
SQL = SQL & " Having (((PDAT01_C.cia) = '" & mcia & "') And ((PDAT01_C.division) = '" & mdivision & "') And ((PDAT01_C.mes) = '" & mmes & "') And ((PDAT01_C.ano) = '" & mano & "') and ((PDAT01_C.nopda)= '" & mnopda & "')) "
SQL = SQL & " ORDER BY PDAT01_C.nopda , PDAT01_C.ano"

esa Instruccion de arriba, corre bien no me marca error de sintaxis, pero tiene un error que el total que recupera o suma en
Debe y haber, es varias veces el total real. en unos casos es 10 veces el valor real exacto, otras veces es el doble
o sea que es un multiplo de de la cantidad real.

que puede tener malo ?

Basicamente tengo dos archivos PDAT01_C (Cabecera) y PDTA01_D (Detalle) y ese archivo esta organizado
por no de documento, o sea que por cada registro o documento que exista en pdat01c pueden haber varios
registros (cuentas de detalle) en el archivo PDAT01_D

PERO EN este caso, no necesito recuperar documento por documento. sino dar el total del debe y el total del haber.
que hay en una partida contable, en ese año, y en ese mes especifico, una partida contable puede estar formada por
un solo documento , como por cientos de documentos.

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

RE:SQL =

Publicado por Cemental (21 intervenciones) el 03/01/2003 17:54:48
Hola, quizas si trataras de mostrar la compañia, la division y el otro campo podrias ver que se te repiten los registros(obviamente si los ves sin el sum en ambas columnas), por lo que creo que deberias tratar con un distinct en la division en pdato1_c y en la compañia, mostrandolos y agrupandolos, en el listado. por lo que pude analizar, estas sacando un total por division o por compañia o por el otro campo y si no muestras a que compañia o division pertenece, no sabras que te muestra, ademas que internamente creo que se te estan repitiendo los registros al no filtrarlos con el distinct.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar