Ayuda de Inventario

Estoy haciendo un proyecto en access 2000 es de un inventario y facturación quisiera saber como poder afectar las cantidades de venta de un producto es decir para sacar la existencia de tal o cual producto, tengo una tabla que es de productos en donde se captura el ingreso de artículos pero necesito que ese ingreso se vaya disminuyendo conforme se realicen las ventas, me podrías ayudar por favor... No tengo trabajando mucho con access pero estoy haciendo mi lucha de

1 Respuesta

Respuesta
1
Eso que me dices.. si se puede hacer pero usando programación VB en access, usando lo que se conoce con el nombre de recordset. Se hace por ejemplo asociando al evento ( after_update ) de una variable de ventas la actualización de la tabla de productos.. pro ejemplo.. pero como te digo es mediante programación VB... aquí te mando un ejemplo...
Private Sub SELECMES_AfterUpdate()
Call aux
selecmes1 = SELECMES
Me.Refresh
End Sub
Private Sub aux()
Dim dbs As Database, rst As Recordset
Dim fld As Field, fld2 As Field, fld3 As Field, cadEntradaDatos As String
Dim idx As Index
Dim Valor As Variant
Dim mes As Integer
' Devolver referencia a la base de datos actual.
Set dbs = CurrentDb
' Para encontrar el tipo de cambio actual
' Crear el objeto Recordset de tipo tabla.
Set rst = dbs.OpenRecordset("TCAMBIO", dbOpenTable)
' Establecer el índice actual.
rst.Index = "TCAMBIO"
' Localizar el registro.
rst.Seek "=", Me![SELECANO], Me![SELECMES], 1
If Not rst.NoMatch Then
Me![TOITCA] = rst![TOITCA]
Else
Me![TOITCA] = 0
End If
' Refresca el formulario
Me.Refresh
' Para encontrar el monto presupuestado en el mes
' Crear el objeto Recordset de tipo tabla.
Set rst = dbs.OpenRecordset("TENTI", dbOpenTable)
' Establecer el índice actual.
rst.Index = "ENTI"
' Localizar el registro.
rst.Seek "=", Me![SELECENT], Me![SELECANO]
If Not rst.NoMatch Then
Valor = Me![SELECMES]
If Valor = 1 Then
mes = rst![ENME01]
End If
If Valor = 2 Then
mes = rst![ENME02]
End If
If Valor = 3 Then
mes = rst![ENME03]
End If
If Valor = 4 Then
mes = rst![ENME04]
End If
If Valor = 5 Then
mes = rst![ENME05]
End If
If Valor = 6 Then
mes = rst![ENME06]
End If
If Valor = 7 Then
mes = rst![ENME07]
End If
If Valor = 8 Then
mes = rst![ENME08]
End If
If Valor = 9 Then
mes = rst![ENME09]
End If
If Valor = 10 Then
mes = rst![ENME10]
End If
If Valor = 11 Then
mes = rst![ENME11]
End If
If Valor = 12 Then
mes = rst![ENME12]
End If
Me![Mes_moneda_extranjera] = mes
Me![Mes_Moneda_Nacional] = Me![Mes_moneda_extranjera] * Me![TOITCA]
Else
Me![Mes_moneda_extranjera] = 0
Me![Mes_Moneda_Nacional] = 0
End If
' Refresca el formulario
Me. Refresh
End Sub
Ok. Deja ver si entendí...
¿El código se lo debo de agregar al formulario en en cual de hace la venta?
Y sobre el código...
Ok. Se refresca... después se hace la llamada al procedimiento que se encargara de pasar la actualización del dato a la tabla.. se crea el procedimiento, ¿se dan de alta las variables en la Dim fld As Field se deben de especificar el numero de campos que hay en la tabla?, ahora creo que si te detallo el proyecto es mejor...
El Modulo de Facturación esta de la Siguiente forma:
Tabla de Productos con los campos:
Clave(Relación con Clave de Detalle)
Descripción
Existencia
Precio de Costo
Precio de Venta
Tabla de Facturación con los campos:
Folio(Relación con Folio de Detalle)
Fecha
Numero(Relación con clientes)
Tabla de Detalle con los campos:
Folio(Relación con Folio de Facturación)
Clave(Relación con Clave Productos)
Cantidad
Entonces necesito que el dato de cantidad se vaya descontando de la tabla de productos... espero que no sea mucha molestia, esa es la forma de facturar o tu como ves que me recomiendas... de ante mano gracias... saludos
La forma de facturar depende de las políticas del negocio. Eso no lo podemos tocar. Lo que si debemos hacer el llevar esas políticas a la practica.. así.. que como me cuentas. Se debería hacer lo siguiente:
En el formulario que tiene el campo de venta. Se le debe asociar un proc. Tal que ese numero de unidades vendicas se descuente de la tabla de productos.. tal como te indique en el ejemplo.
Es que el VB.. es un lenguaje manejado por eventos,, entonces el VB llama a esa rutina justo después que se actualiza la variable de venta.. y es en ese momento (evento) que se puede hacer el descuento de unidades.. de la tabla de productos, no se si el ejemplo es claro... ojala te sirva...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas