SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: JuanPi en Jueves 4 de Julio de 2002, 19:21
-
Estoy practicando haciendo un programa para una supuesta tienda, que guarda sus datos en una db. Tengo (entre otras) dos tablas, 'compras' y 'ventas', cada una tiene los campos articulo_codigo y articulo_cantidad, de articulos comprados o vendidos.
Me gustaria, sabiendo estos datos, como tengo que hacer la consulta para que me muestre la cantidad de articulos que tengo en ese momento junto con su código, es decir una especie de inventario de la tienda.
Espero que podais ayudarme, de verdad que no sé como platear la consulta.
Muchissssssimas gracias.
Juan.
-
Yo cuendo me encuentro en tu caso casi siemempre hago lo mismo. creo una tercera tabla temporar. donde meteria 4 campos, el id del articulo y la suma de entrada y la suma de salida. y el saldo
-
como dijo juanpi, utiliza un dbgrid para colocar los campos que vas a consultar
-
Como hago eso de una tabla temporal?
Yo armo un recordset con la consulta Sql y la muestro en el DataGrid Bartrix58.
Por cierto estoy usando ADO y una DB Access 2000.
-
Sin usar Tablas temporales:
debes crearte dos consultas para cada una de tus tablas de ventas y compras. estas consulta son del tipo "agrupar" y agrupas por codigo de artículo y sumas el campo donde estes las cantidades.
Luego te creas una tercera consulta donde lees la tabla de articulos y las dos consultas anterirores, utilizando el campo "codigo articulo" para enlazarlas.
En esta tercera consulta podrás poner un campo calculado donde podrás, restando el valor del "campo cantidades sumado" de las dos primeras tablas, extraer el saldo.
Ten cuidado pq access con los valores nulos. si por ejeplo un articulo tiene "ventas" pero no tiene "compras" el calculo en la tercera tabla no sera "0 - X" que seria igual a -X, sino "null - x", que seria igual a Null
no se si me lieado un poco, espero que me entiendas y te sirva de ayuda
saludos
-
Vale, más o menos lo entiendo, a ver como me sale.
Gracias, un saludo.:P