Error en Suma en una Consulta

11/03/2011 - 16:08 por Fredmac48 | Informe spam
Hola a Todos

Tengo un problema al sumar dos valores de una consulta no los suma
sino comoque lso concatena :D

Tengo la siguiente consulta:

SELECT tbl_productos.id_producto, tbl_productos.nom_producto,
Nz(([suma_entradas]),0) AS entradas, Nz(([sumas_traslados]),0) AS
traslados, [entradas]+[traslados] AS total
FROM (qry_sum_2_d_entrada LEFT JOIN qry_sum_2_d_traslados ON
qry_sum_2_d_entrada.id_producto = qry_sum_2_d_traslados.id_producto)
INNER JOIN tbl_productos ON qry_sum_2_d_entrada.id_producto tbl_productos.id_producto;

asi aparece al ejecutar la consulta

[NOMPRODUCTO] [ENTRADA] [TRASLADO] [TOTAL]

PRODUCTO 1 7 24 724
PRODUCTO 2 7 0 70
PRODUCTO 3 35 0 350

en resta, ,multiplicacion, division funciona bien en suma no :(

me podrian echar una mano a ver si es que es error mio "lo mas
probable"

Gracias

Uso ACCESS 2010

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
14/03/2011 - 13:57 | Informe spam
Hola
¿Que tipo de datos contiene esas columnas?

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Fredmac48
14/03/2011 - 14:56 | Informe spam
las dos tablas contienen los mismos tipos de datos



id_producto=entero largo
nom_producto=texto
cant_producto=entero largo

luego lo que hago es una consulta para sumar los productos

consulta traslados

SELECT tbl_d_traslado.id_producto, tbl_productos.nom_producto,
Sum(tbl_d_traslado.cant_producto) AS sumas_traslados,
Sum(tbl_d_traslado.val_producto) AS suma_valor_traslados
FROM tbl_productos INNER JOIN (tbl_d_traslado INNER JOIN tbl_sedes ON
tbl_d_traslado.id_sede_d = tbl_sedes.id_sede) ON
tbl_productos.id_producto = tbl_d_traslado.id_producto
GROUP BY tbl_d_traslado.id_producto, tbl_productos.nom_producto;

consulta entradas

SELECT tbl_d_entrada.id_producto, tbl_productos.nom_producto,
Sum(tbl_d_entrada.cant_producto) AS suma_entradas,
Sum(tbl_d_entrada.val_producto) AS suma_val_entradas
FROM tbl_sedes INNER JOIN (tbl_productos INNER JOIN tbl_d_entrada ON
tbl_productos.id_producto = tbl_d_entrada.id_producto) ON
tbl_sedes.id_sede = tbl_d_entrada.id_sede
GROUP BY tbl_d_entrada.id_producto, tbl_productos.nom_producto;


luego lo que hago es una consulta de las dos consultas y lo que quiero
es sumar las dos cantidades asi:


SELECT tbl_productos.id_producto, tbl_productos.nom_producto,
Nz(([suma_entradas]),0) AS entradas, Nz(([sumas_traslados]),0) AS
traslados, [entradas]+[traslados] AS total
FROM (qry_sum_2_d_entrada LEFT JOIN qry_sum_2_d_traslados ON
qry_sum_2_d_entrada.id_producto = qry_sum_2_d_traslados.id_producto)
INNER JOIN tbl_productos ON qry_sum_2_d_entrada.id_producto tbl_productos.id_producto;


cambiando el signo "+" por el de "-" o por el de "*" o por el de "/"
funciona bien

alguna sugerencia?

PD si quiere le puedo enviar la base para ver si es error mio?


Gracias

PD uso ACCESS 2010
Respuesta Responder a este mensaje
#3 José Mª Fueyo
14/03/2011 - 17:13 | Informe spam
Hola
Aquí no dispongo de Access 2010.
Lo único que se me ocurre, así a bote pronto, es que en algún momento
se produzca algún importe que sobrepase los límites del tipo de dato.
Mira en la ayuda a ver cual sería dicha especificación, y sí en algún
momento se llega a producir dicha situación.

Salu2
José Mª Fueyo
[MS MVP Access]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida