Visual Basic - SQL = "SELECT pdat01

Life is soft - evento anual de software empresarial
 
Vista:

SQL = "SELECT pdat01

Publicado por jose (61 intervenciones) el 02/01/2003 05:43:27
SQL = "SELECT pdat01_d.cuenta, Sum(PDAT01_D.debe) AS Debe, Sum(PDAT01_D.haber) AS Haber "

tengo esa instruccion de arriba, mas todo lo que le sigue que es Join, having, group y todo lo demas pues es
una sumaria a nivel de cuenta que estoy realizando. y me funciona bien.
luego el resultado de ese recordset yo lo pego a un datagrid solo de consulta. y lo despliego. y funciona bien.

(suma) (suma)
Cuenta debe haber
colum(0) column(1) Column(2)

pero ahora deseo hacer esto ! que me aparezca la diferencia de esa sumatoria o sea (debe-haber)
lo estoy probando como esta abajo, pero marca error.

SQL = "SELECT pdat01_d.cuenta, Sum(PDAT01_D.debe) AS Debe, Sum(PDAT01_D.haber) AS Haber,(debe-haber) "

pero esa instruccion de arriba marca error.

toda la instruccion completa es asi.

SQL = "SELECT pdat01_d.cuenta, Sum(PDAT01_D.debe) AS Debe, Sum(PDAT01_D.haber) AS Haber, debe-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) AND (PDAT01_C.no_doc = PDAT01_D.no_doc) AND (PDAT01_C.fecha = PDAT01_D.fecha) "
SQL = SQL & "GROUP BY PDAT01_C.cia, PDAT01_C.ano, PDAT01_C.mes, PDAT01_D.cuenta "
SQL = SQL & " Having (((PDAT01_C.cia) = '" & mcia & "') And ((PDAT01_C.mes) = '" & mmes & "') And ((PDAT01_C.ano) = '" & mano & "'))"
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 Valle (84 intervenciones) el 02/01/2003 14:07:00
Prueba con :
SQL = "SELECT pdat01_d.cuenta, Sum(PDAT01_D.debe) AS Debe, Sum(PDAT01_D.haber) AS Haber,Sum(PDAT01_D.debe) - Sum (PDAT01_D.haber) as Diferencia.....

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

RE:SQL =

Publicado por jose (61 intervenciones) el 02/01/2003 14:59:07
Gracias Valle, ya funciona.

solo tengo esta pregunta.

Los dos campos DEBE y HABER son doubles, pues alli podrian venir cantidades hasta de 100 millones ya sea en Rojo
o negro. con dos decimales exactos , pues son valores dolares o pesos son exactos dos decimales. y ahorita me estoy
fijando pues no le puse al format a la diferencia , que en muchas de todas las diferencias, me las representa con diferencias
que tienen mas de 2 decimales de valor.

o sea -61.820000007
232.90999999916
78.7199999013
1.0000007098

Yo se que solo le tengo que poner un Format , ###,##0.00 Y eso va a desaparecer.

la pregunta es ? al grabar en una situacion real esas diferencia 232.9099999 no la va a redondear a a 232.91 que es erronea
pues los valores que originan esa diferencia es , solo son dos decimales y esta deberia de ser 232.90 a secas.

saludos,

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