Tabla con referencias en entradas y salidas:

Tengo un problema y no se como
Solucionarlo:
Tengo una tabla con referencias en entradas y
salidas:
ref entradas salidas
r1    18
r1    10
r1                    10
r1    15
r1     12
r1                     12
r1                    15
r1     10
necesito una consulta que me compare las entradas y
las salidas, entonces me tendría que dejar
ref entradas salidas
r1 18
r1 10
no se si me he explicado bien.

1 Respuesta

Respuesta
1

Lo que estás pidiendo no se puede hacer con consultas.

La solución pasa por programar un código, pero el problema está en que ese código es bastante complicado por lo "enrevesado" de la estructura de los datos.

Para no hacer eterna la cosa, si quieres, pásame tu BD (comprimida en zip o rar, por favor) a mi correo, que es neckkito(ARROBA)yahoo(PUNTO)es. Le echaré un vistazo y miraremos qué podemos hacer.

Te ruego que me indiques en dicho correo cuál es la tabla que contiene esos dados de ref, entrada y salida.

Te respondo aquí porque pensaba que tu BD estaba estructurada de otra manera, pero así como la tienes la cosa se simplifica bastante. No puedes realizar el proceso en una sola consulta, sino que vas a necesitar dos consultas, pero son fáciles de realizar.

Te explico cómo hacerlo:

1.- Creas una consulta sobre la tabla ALMACEN_TELA y le añades los campos:

.- Ref

.- Entradas

.- Msalidas

2.- Eso te ocupa, en el grid (la parte inferior), tres columnas. En la cuarta columna, que estará vacía, escribes en la primera línea (la que corresponde a "Campo:") lo siguiente:

Diferencia: [ENTRADAS]-[msalidas]

Guardas esa consulta con el nombre de CDiferencias (por ejemplo)

3.- Creas otra consulta basada en la consulta anterior. Verás que hay cuatro campos. Los añades al grid. Te debería quedar:

.- Ref

.- ENTRADAS

.- Msalidas

.- Diferencia

4.- Una vez tengas esa consulta creada la conviertes en una consulta de totales (el botón de sumatorio -sigma-). Guardas esa consulta con el nombre de CSock (por ejemplo). Verás que ahora te ha aparecido una línea mas, que te dice "Agrupar por". Lo que tienes que hacer es:

.- Ref -> Lo dejas en "Agrupar por"

.- ENTRADAS -> Lo cambias a "Suma"

.- Msalidas -> Lo cambias a "Suma"

.- Diferencia -> Lo cambias a "Suma"

Como veo que utilizas valores tipo Double algunos resultados van a ser extraños. Para corregirlos te sitúas sobre la columna Diferencia y le das click con´el botón derecho -> Propiedades.

Te vas a la propiedad Formato y le estableces el valor de la propiedad en "Estándar".

Y ya está. Ahora esa consulta te devolverá la información que pedías.

Ya me dirás qué tal.

Vamos a por el segundo intento.

Te explico lo que debes hacer (es parecido a lo anterior, pero con "variaciones sobre el tema"). Haz el proceso poco a poco, que es un poco complejo:

1.- Crea una consulta sobre la tabla ALMACEN_TELA y añades el campo ref (te quedará en la primera columna del grid). La guardas como CPiezas

2.- En la segunda columna del grid, en la primera línea (la correspondiente a "Campo:", escribes lo siguiente:

ref2: SiInm([ENTRADAS]<>0;[ref] & [ENTRADAS];[ref] & [msalidas])

3.- En la tercera columna del grid, en la primera línea, escribes lo siguiente:

Piezas: SiInm([ENTRADAS]<>0;1;-1)

4.- En la cuarta columna añades ENTRADAS, y en la quintacolumna añades msalidas.

5.- Creas una consulta, que llamaremos CStockPrevio, basada en la consulta CPiezas. Añades:

- En la primera columna, el campo [ref2]

- En la segunda columna, el campo [Piezas]

6.- Conviertes esa consulta en una consulta de totales, agrupando el campo [Piezas] por suma (el otro no lo tocamos)

7.- En la columna del campo [Piezas], en la línea correspondiente a "Criterios:", escribes

<>0

Guardas esa consulta.

8.- Creas una tercera consulta, que llamaremos CStock, basada en:

- La consulta CPiezas

- La consulta CStockPrevio

9.- Creas manualmente una relación entre los campos [ref2] de ambas consultas.

10.- Añades al grid de la consulta:

- Primera columna: [ref] de la consulta CPiezas

- Segunda columna: [SumaDePiezas] de la consulta CStockPrevio

- Tercera columna: [ENTRADAS] de la consulta CPiezas

11.- Conviertes esa consulta en una consulta de totales, pero no tocamos el agrupamiento que sale por defecto (todos los campos quedan con el valor "Agrupar por".

Y ya está. Ahora esta consulta te dará el número de piezas de las entradas en las que haya stock.

A ver si esta vez la hemos acertado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas