Problemas con stock de productos en Inventario

Como estas estimado amigo, tengo una duda enorme, recién estoy aprendiendo a utilizar Access es muy útil para mis necesidades, estoy tratando de hacer una base de datos para manejar mis productos, tengo en esa base de datos con las sgts. Tablas: de Productos con IdProducto, tabla de Detalle Compras donde también esta IdProducto, y otra tabla llamada Datos Ventas donde también esta IdProducto, estos campos están relacionados.
Obtuve un ejemplo en esta web para determinar en mi Formulario Productos un campo llamado saldos con la finalidad de saber cual es el saldo del producto restando las compras menos las ventas de la siguiente manera:
 Private Function disponible() As Integer
Dim ing, vend As Long
'supongo que tienes dos tablas una de ingresos ,una de los vendidos y un campo IdProducto en c/una
ing = Nz(DSum("[entra]", "Datos compras", "[IdProducto]=" & Me.IdProducto), 0)
vend = Nz(DSum("[sale]", "Datos Tickets", "[IdProducto]=" & Me.IdProducto), 0)
disponible = ing - vend
End Function
Luego me indicaba que esta función la debería de colocar en la opción origen del control del campo saldo del formulario Productos lo siguiente: =disponible(), pero no sale el resultado deseado, en este ejemplo le he colocado los campos y tablas que corresponden al programa que estoy haciendo, por favor dime que he echo mal o en que estoy mal te lo voy a agradecer.

1 respuesta

Respuesta
1
Yo lo haría de la siguiente forma:
*Tres tablas:
Productos (Campo: IdProducto)
Compras (Campos: IdProducto, CantCompras)
Ventas (Campos: Id Producto, CantVentas)
*Un formulario independiente que llamaré Inventario.
*Un Cuadro Combinado que llamaré selProducto
En este cuadro combinado en origen de la fila pondré la sql siguiente:
SELECT Productos.IdProducto FROM Productos ORDER BY Productos.IdProducto;
y en la acción Al hacer clic un procedimiento de evento: Me.Refresch
*Un cuadro de texto independiente y en origen del control pondré:
=Nz(DSuma("[CantCompras]";"[Compras]";"IdProducto=form!selProducto"))-Nz(DSuma("[CantVentas]";"[Ventas]";"IdProducto=form!selProducto"))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas