Usuario
Datos duplicados en vez de campo nulo en una consulta de Access

Pregunta
-
Buenos días,
Estoy haciendo un inventario de stock con Access 2013, y tengo las tablas que corresponden a Productos; Entradas y Salidas, y he hecho consultas de las Entradas (con todos los registros entrantes), Salidas (con todos los registros salientes), Total Entrada (la agrupación de productos y suma de cantidades entrantes) Total salida (la agrupación de productos y suma de cantidades saliendo) y para averiguar el stock lo que hago es crear una nueva consulta Stock y resto las cantidades sumadas entrantes de la consulta Total entrada a las cantidades sumadas de la consulta Total Salida.
El problema que tengo es si tengo un producto A (cantidad entrada 100) y Salida de 50 me da correctamente 50 pero si añado un producto B con entrada 200 y SIN SALIDA me devuelve el valor de Salida del producto A(50) y me lo resta. No llego a hacer que me ponga un valor nulo he intentado con la función Nz pero no se muy bien donde ponerla como las consultas de totales Salida y Entrada son independientes seria en la consulta Stock: [Total Entrada]- (Nz([Total Salida])) pero los intentos que he hecho me devuelven lo mismo. He intentado también en los criterios poner =SiInm(EsNulo([Total Salida]);0;[Total Salida]) pero tampoco me funciona.
Las tablas de Entrada y Salida están relacionadas a la de Producto pero independientes entre si.
Producto Total Entrada Total salida
A 100 50
B 200 (En vez de 0 o Nada me devuelve 50 de A)
Gracias por vuestra ayuda
Todas las respuestas
-
-
Gracias por tu respuesta lo he intentado pero no me funciona.
He probado una combinación de 3 productos para ver lo que me devuelve.
Lo que quiero obtener
Producto Total entrada Total Salida Stock
A 100 50 50
B 200 (no hay) 200
C 500 250 250
Lo que me devuelve
Producto Total entrada Total Salida STOCK
A 100 50 50
B 200 50 150
C 500 50 450
A 100 250 -150
B 200 250 -50
C 500 250 250
Lo que no entiendo es porque por separado las consultas me devuelven los valores correctos y cuando hago las operaciones con ellas (total entradas y total salidas) se me duplican los resultados. No soy un usuario muy avanzado, y no entiendo porque me hace eso. Parece que percibe las operaciones como con registros diferentes y duplica las operaciones, como si a las 3 cantidades entradas tienes que operar por separado con los registros de salidas
Como
3 registros entrantes x 1registro de salida
3 registros entrantes x 1registro de salida
-
El Sinm si lo pones como campo de la consulta funciona si o si. Algo haces no bien ;-)
Las propiedades de la relaccion entre la tabla Salidas y la de entradas deberia ser 'Incluir TODOS los registros de la tabla Entrada y solo los registros de la tabla de Salida que sean igual el indice.' Osea todos por la dcha.
Aunque ahora me doy cuenta y ¿Sí hay salidas y no hay entradas...entonces creo que no funcionaria. Prueba y suerte
Si pondrias los datos exactos de la consulta nos ayudaria a verlo mejor
- Editado ikanni1 lunes, 21 de marzo de 2016 16:50
-
Muchas gracias por tus respuestas. Me faltaban las relaciones entre la tabla productos y las consultas Total entrada y total salida dentro de la consulta stock y poner en las relaciones la opción 2 (todos los registros y solo aquellos registros que...). Despues funciona perfectamente SiInm(EsNulo...)
Thks ;) por tu ayuda.
Por si alguien necesita los pasos más detallados hay una persona que lo hace en este ejemplo
ejemplo Cálculo stock sin VBA
-
Hola
Yo usaría una única tabla de movimientos. Pondría un campo para identificar el tipo de movimiento (entrada, salida, regularización de stock, etc...), y el número de unidades en positivo o negativo según corresponda. Así podrías tenerlo todo muy sencillo con una única tabla.
Salu2,
José Mª Fueyo
- Editado José Mª Fueyo martes, 22 de marzo de 2016 12:13