Problema para realizar una consulta access

El problema que tengo, es que no se como hacer una consulta de existencias de una base de datos de un almacen que estoy haciendo.
Tengo que contabilizar paquetes y nº de tableros que componen el paquete.
Tengo dos formularios, que introducen datos en dos tablas diferentes, uno para dar entradas en el almacen y otro para dar salidas.
Y tengo que hacer un informe con las existencias que hay en el almacen.
El problema que tengo es que no se como hacer dicha consulta, ya que el encargado de dar salidas, la efectúa sobre un paquete, con un nº determinados de tableros, por lo que tendría que restar el paquete que sale, pero del nº de tableros especificado.
Con un ejemplo creo que se entenderá mejor.
Tengo 30 paquetes 15 de 50 tableros y otros 15 de 75, pues bien, quiero dar una salida al un paquete de 50, por lo que me quedarían 14 de 50 y 15 de 75.
Eso es lo que quiero hacer en la consulta pero no se como.
Respuesta
1
Se podría hacer de varias maneras, así que te indicaré una con un ejemplo.
Tenemos una tabla llamada TblPaquetes con los campos
IdPaquete (numérico o texto- clave principal), que identifica cada paquete.
NTableros (numérico) que nos dice la cantidad de tableros del IdPaquete.
FechaSalida (fecha)
IdPaquete nTableros FechaSalida
1 50
2 50
...
14 50
15 50
16 75
17 75
...
28 75
29 75
Con lo que tendremos 15 registros de 50 tableros y otros 15 de 75.
Crea una consulta con este código SQL:
SELECT TblPaquetes.nTableros, Sum(1) AS Cantidad, TblPaquetes.FechaSalida
FROM TblPaquetes
GROUP BY TblPaquetes.nTableros, TblPaquetes.FechaSalida
HAVING (((TblPaquetes.FechaSalida) Is Null));

Con ello nos daría la cantidad de paquetes por número de tableros que no tienen fecha de salida.
Si tienes alguna duda me lo comentas.
Una aperta.

1 respuesta más de otro experto

Respuesta
1
Dime como guardas los datos de los paquetes y la estructura de esa tabla.
Si no guardas los datos correctos las consultas no serán correctas tampoco...
Si tienes un campo con el numero de paquetes entrantes y otro campo donde indica el numero de tableros que tienen estos paquetes la consulta es relativamente sencilla.
Aclárame si es así.
Tengo una tabla, donde las claves son la fecha, el turno y la hora de Inicio de la fabricación, a continuación tengo el largo y ancho bruto (que no me interesan en esa consulta) y el largo y el ancho neto y espesor (dimensiones del tablero), después tengo el Nº de Paquetes y el Nº de tableros/Paquete, Resto (Nº de tableros sueltos que se cuentan como 1 paquete aparte, que también tengo que contabilizar, ya que también le dan salidas y en caso de que sean más de un paquete, se pone el Nº de paquetes de resto-son las mismas medidas) y los M3 (Metors Cúbicos) que también los tengo que contabilizar, pero eso no seria importante, porque los puedo hallar en la consulta multiplicando las medidas y todo eso.
Lo que se me complica, es que por ejemplo, si tengo 20 paquetes de 3m de largo y 2m de ancho y 52mm de espesor de 30 tableros cada paquete, si doy salida a algún paquete, en el que coincidan todas las dimensiones y el Nº de tableros restara dicho numero de salidas.
No se si me explicado correctamente.
Realmente, para hacer dicha consulta, parto de una consulta, ya que calculo en ella el Nº de tableros, y los M3 (Metros Cúbicos).
Muchísimas gracias por tu rapidez
Un saludo
En la consulta esta bien que calcules los M3 pero también tienes que dejar el largo, ancho y alto, porque te pueden coincidir como dices los M3.
Haz una consulta con ID, N paquetes, largo, ancho, alto(espesor), M3
Luego compárala con la consulta de salida (la misma) y podrás sumar y restar en función a estos parámetros.
Han de ser dos consultas de suma (una para entradas otra para salidas) y luego la consulta para restar ambas es más fácil.
Pero con esto a la larga tienes un problema, y es que vas sumando y restando todo, todo el tiempo.
Yo alojaría un campo más a la tabla de entrada y le iría restando el numero de paquetes allí. Así es todavía más fácil.
Si necesitas un ejemplo pídemelo y te lo preparo.
En la consulta esta el largo, el ancho, el espesor, el Nº de paquetes, el Nº de Tableros/Paquetes y el Nº de Tableros totales.
No entiendo lo de la consulta con ID, Nº paquetes, Largo, Ancho, Espesor y M3.
El problema mayor que veo, es como dar restar el Nº de paquetes con una característica determinada (el Nº de Tableros/Paquetes).
A lo mejor con un ejemplo me aclararía mucho mejor.
Muchísimas gracias por tu ayuda.
Tengo la base subida a un servidor, por si la quieres echar un vistazo para aclararte, porque con mis explicaciones...
Un saludo.
Pues seria buena echarle un ojo y ver la consulta que estas haciendo...
:)
Pues en (xxxxxx).homelinux.com/" contenteditable="false" rel="nofollow" target="_blank">http://(xxxxxx).homelinux.com/ esta, hay dos "bases" La acabada en _be son las tablas, que están separadas, en una base aparte y la otra, más pesada son todas las consultas formularios etc.
Te explico un poco como va, la tabla de entradas es la de tableros, que hereda las claves de principal escuadradora, y es en la que introducen los datos a través del formulario "Formulario Parte Diario Escuadradora" <span style="font-style: normal;">Al que se puede acceder desde </span>Escuadradora-Partes Diarios-Nuevo Parte Diario
<span style="font-style: normal;">Las salidas serian la tabla pedidos, que hereda claves de albaran, la consulta </span>"Consulta Pedido Existencias" esta creada para convertir las medidas, de mm, que introducen unos a m que dan salida.
Y tengo que contabilizar, tanto el Nº de Paquetes, El Nº de tableros/paquetes, y el resto, que tiene las mismas dimensiones que el paquete con el que se le ha dado una entrada en el "Formulario Parte Diario Escuadradora". Espero haberme explicado suficientemente bien.
Un saludo y muchísimas gracias, por tu rapidez.
Ante la imposibilidad de crear dicha consulta me he planteado la opción de anexar las entradas a una tabla y borrarlas en cada salida, por medio de consultas de anexar y eliminar, aunque esta opción la querría usar como ultima opción.
¿Ud, lo haría de esa forma?
Por lo poco que vi, tienes una tabla donde introduces la producción.
Otra tabla donde introduces las ventas
Ahora quieres restar la producción menos las ventas para calcular el stock.
Veo que tienes Tableros existencias y Pedidos Existencias (que seria ventas supongo)
Ahora las comparas de forma correcta, entiendo que el problema son los restos... jejejeje
Tienes que calcularlos de igual modo, con otras dos consultas, porque al fin y al cabo introduces dos datos en el mismo registro, por lo tanto necesitas dos consultas independientes, una para cada campo. Porque entre ellas no tienen nada que ver, aunque las coloques en el mismo registro.
Te lo explico de otro modo, si lo quieres hacer a la primera seria mejor que trabajarais con los restos como si fueran producción, o sera una linea más, introduce en la tabla un campo RESTOS(SI/NO) para diferenciarlos en un momento dado y listo.
De ese modo con una consulta podrías hacer los cálculos, pero si no tienes que hacerlo por separado.
No se si me explico bien, porque no te creas que tengo claro el concepto que usas, el crear las tablas bien es el 75% de una buena base de datos.
Anexar y eliminar... yo no lo haría, pero no porque este bien ni mal, cada uno programa con los recursos que mejor domina, yo prefiero trabajar sobre los datos que sobre tablas intermedias.
Un saludo.
Ojala me pillaras con un poco más de tiempo, pero es lo que por ahora te puedo decir, ya que comprender el trabajo de los demás es complicado.
Ya se que compender el trabajo de los demás, es mucho más difícil que hacerla de nuevo, pero muchísimas gracias por hacer el esfuerzo de mirarlo y entenderlo.
Voy haber que puedo hacer, la verdad, es que lo de la tabla tampoco era mi idea, pero ante lo complicado que se me ponía...
El resto no es el mayor problema, porque simplemente son números de tableros, y lo voy a restar, el mayor problema que se me planteaba era restar correctamente, el Nº de paquetes, ya que el largo, ancho, espesor, calidad y Nº de Tableros/Paquetes tienen que ser igual.
El problema se me daba al igualar todos esos campos.
Muchísimas gracias por tu ayuda.
Si ves una manera "facil" de comparar todos esos campos... dímela, si puedes, sino finalizo la pregunta y valoro tu inestimable ayuda.
Un saludo
Voy a intentar hoy sacar un hueco para realizar unas consultas a ver que me sale, no cierres aun, a ver que podemos hacer.
Ok, muchísimas gracias.
Hablando de consultas, hay algunas consultas en las que puedo modificar datos y otras en las que no, ¿de qué depende esa característica? Necesito actualizar una consulta con otra de actualizar y no me deja, me muestra un mensaje que elija una consulta actualizable, he comprobado otras de mi base de datos, y si me deja modificar datos.
La consulta que no deja actualizar tiene un campo calculado y los datos están agrupados en todos sus campos, excepto en 2 que tienen una suma.
Un saludo
Como norma cuando una consulta en access tiene campos de varias tablas no deja actualizar, cuando es de una tabla si que deja en la mayoría de los casos, siendo consultas select.
En este caso solo era de una tabla y no dejaba, muchísimas gracias por la aclaración.
Un saludo
Ya tengo la consulta creada, no es necesario que hagas tiempo, continua con tus que aceres.
Muchísimas gracias por tu ayuda, me ha sido de gran ayuda.
Gracias por colaborar en páginas como esta, "perdiendo" un tiempo valioso en ayudar a los demás.
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas