Sumar valor de los productos en un inventario
Los expertos de este blog
Estoy terminando de construir mi DB en Access 2010, para el control de ventas de mi propio almacen (inventario, ventas, gastos.. Etc), pero tengo un inconveniente que no he podido solucionar y me urge mucho para poder empezar... Por esta razón recurro a uds haber si me pueden por favor ayudar..
1) Tengo un formulario "Entrada_Inventario" (este depende de una tabla), el cual permite el ingreso de productos al inventario, tiene un boton "Guaydar y Continuar", que en el evento al dar Click tiene el siguiente codigo, el cual permite ir sumando la cantidad ingresada de cada uno de los producto. Has aquí todo anda bien.
Private Sub GuardaEntrada_Click()
On Error GoTo err:
'Variables de ejecución
Dim idprod As Integer
Dim CantEnt As Double
Dim CantDisp As Double
Dim NvaCantDisp As Double
'Anular valores nulos en la asignacion de valores
idprod = Nz(Me.Cod_Producto.Value, 0)
CantEnt = Nz(Me.Cant_Producto.Value, 0)
'Buscar datos en Lista de Inventarios
Dim rst As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM [INVENTARIO] US WHERE US.[Cod_Producto]=" & idprod
Set rst = CurrentDb.OpenRecordset(sql)
If rst.BOF And rst.EOF Then
MsgBox "Producto No Encontrado en Inventario. Debe ingresarlo primero a inventario"
Else
CantDisp = rst![Cantidad_Disponible]
NvaCantDisp = CantDisp + CantEnt
rst.Edit
rst![Cantidad_Disponible] = NvaCantDisp
rst.Update
rst.Close
Set rst = Nothing
End If
DoCmd.GoToRecord , , acNext
Exit Sub
err:
MsgBox err.Description
End Sub
2) Necesito que también me sume la cantidad en dinero que representa cada producto que se encuentre en el inventario. He adicionado código al anterior para que se ejecute en el mismo botón, pero me genera error. Llevo muchos días tratando de solucionarlo pero la verdad no he podido. Este es el código completo que tengo en el botón:
Private Sub GuardaEntrada_Click()
On Error GoTo err:
'Variables de ejecucion
Dim idprod As Integer
Dim CantEnt As Double
Dim CantDisp As Double
Dim NvaCantDisp As Double
Dim ValEnt As Double
Dim ValDisp As Double
Dim NValInv As Double
'Anular valores nulos en la asignacion de valores
idprod = Nz(Me.Cod_Producto.Value, 0)
CantEnt = Nz(Me.Cant_Producto.Value, 0)
ValEnt = Nz(Me.Val_Producto.Value, 0)
'Buscar datos en Lista de Inventarios
Dim rst As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM [INVENTARIO] US WHERE US.[Cod_Producto]=" & idprod
Set rst = CurrentDb.OpenRecordset(sql)
If rst.BOF And rst.EOF Then
MsgBox "Producto No Encontrado en Inventario. Debe ingresarlo primero a inventario"
Else
CantDisp = rst![Cantidad_Disponible]
NvaCantDisp = CantDisp + CantEnt
ValDisp = rst![Dinero_en_Inventario]
NValInv = ValDisp + ValEnt
rst.Edit
rst![Cantidad_Disponible] = NvaCantDisp
rst![Dinero_en_Inventario] = NValInv
rst.Update
rst.Close
Set rst = Nothing
End If
DoCmd.GoToRecord , , acNext
Exit Sub
err:
MsgBox err.Description
End Sub
3) Si requieren conocer la estructura de mi DB, por favor me avisan y yo se las comparto...
!