![]() |
Ayuda en consulta para sacar kardex
saludos a todos los expertos del club delphi
estoy haciendo un sistema en delphi7 y access, en el cual ocupo sacar un reporte de kardex o movimientos de un producto en especial y de un almacen en especial, todo esto con un rango de fechas, fecha inicial y fecha final. la tabla de consulta debe tener un aspecto como el siguiente en un dbgrid: Fecha |compras |Ajustes_Inventario |Traspasos |Nota_Credito |Ventas ----------------------------------------------------------------------- 01/12/09 | 15 | 0 | 8 | 0 | 50 01/13/09 | 15 | 0 | 0 | 5 | 35 01/30/09 | 0 | 25 | 0 | 0 | 40 las tablas que tienen la informacion son: tab_movimientos detalle_venta ---------------- -------------- id_det_mov id_det_ven id_almacen id_almacen tipo_mov folio_venta fecha fecha id_producto id_producto cantidad cantidad gracias desde ya espero haber sido claro muchas gracias y hasta pronto |
La verdad que mucho no se entiende de donde sacas la informacion, pero aparentemente lo que necesitas es hacer un pasaje de filas a columnas ¿¿??
Yo hice algo similar con la siguiente consulta, espero te sirva
Si no se entiende la idea puedo simplificarla un poco, pero el secreto esta en el uso del CASE segun el tipo de Comprobante (en mi caso) de movimiento en el tuyo. Suerte. |
Hola
y la consulta cual es ??? será como realizar la sentencia sql adecuada ??? indicastes 2 tablas y varios campos ??? cuales corresponden a cada tabla ?? creo que debes probar con una consulta similar a la siguiente... claro esta con tus propios campos y tablas... quizas cuando declares la fecha tengas algun problema pero dependera del formato
salu2:p:D |
mi solucion del problema del kardex
hola muchas gracias por tu respuesta, es muy parecida a la consulta que
necesito aunque en acces el case no funciona, pero puedo usar el iff que funciona perfectamente igual, y la unica diferencia de tu consulta y la mia esque los detalles de ventas los tengo en tablas diferentes y no en la misma tabla de movimienos por lo que estoy tratando de solucionar mi problema uniendo estas tablas con la funcion UNION. SELECT * FROM (select c.fecha,c.id_almacen,dm.id_producto,dm.cantidad,dm.tipo_mov from tab_compra c inner join tab_detalle_movimientos dm on(c.id_compra=dm.folio) UNION select v.fecha,v.id_almacen,dv.id_producto,dv.cantidad,dv.tipo_mov from tab_detalle_pago_venta v inner join tab_detalle_venta dv on(v.id_venta=dv.id_venta)) AS movimientos con el resulrado de esta consulta hago otra consulta, y listo select fecha as Fecha, Sum(IIf(tipo_mov=1,cantidad,0)) AS [Ajustes/Inv], Sum(IIf(tipo_mov=2,cantidad,0)) AS Traspasos, Sum(IIf(tipo_mov=3,cantidad,0)) AS Compras, Sum(IIf(tipo_mov=4,cantidad,0)) AS [Nota/Credito], Sum(IIf(tipo_mov=5,cantidad,0)) AS Ventas from sql_kardex_union where fecha>=:fi and fecha<=:ff and id_almacen=:id_alma and id_producto=:id_prod group by id_producto,fecha order by fecha |
La franja horaria es GMT +2. Ahora son las 13:05:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi