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
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...