HENRY_DAVID | |
| 2007-06-01 15:45 - Respuestas: 21 - Tema nº: 2450818
Gracias por auxiliarme ahora si puedo ver mi stock, pero tengo un pequeño problema q espero me puedas ayudar, por ejemplo ingreso una venta y pongo la cantidad de productos vendidos y me actualiza el stock, el problema es q despues de ingresar la cantidad de productos vendido lo modifique xq no era la cantidad correcta de productos pero no actualiza el stock y además elimine ese registro para q actualizara el saldo del stock pero nada quedo igual el stock + cantidad de productos vendidos que ingrese ultimo. Gracias y saludos. | |
|
|
ebolo | |
|
Re: ACCESS - 2007-06-01 16:43 - Respuesta 12
es decir que lo que quieres es que cuando modifiques un registro ó elimines un registro te lleve bien el stock.
.... despues de ingresar la cantidad de productos vendido lo modifique xq no era la cantidad correcta de productos pero no actualiza el stock y además elimine ese registro para q actualizara el saldo del stock...
hay varias formas de hacerlo unas más complicadas que otras, yo soy de los que piensa que los stocks No se deben de llevar en tablas, porque casi nunca coincide a no ser que se haga un sistema de trazabilidad muy completo. Lo suyo es que, al ser el Stock un campo calculado, se supone que siempre se sabe sumando entradas y restando Ventas.
Luego sigo,....
saludos.
| |
|
|
ebolo | |
|
Re: ACCESS - 2007-06-01 17:35 - Respuesta 13
... ya estoy de nuevo.
- Modificar un registro:
Para hacer lo que quieres debes de usar los eventos BeforeUpdate (antes de actualizar) y Afterupdate (después de actualizar) del cuadro de texto en el que tenga el campo de la cantidad.
* Evento BeforeUpdate:
Debes de poner un Update similar al anterior pero con una resta....
* Evento AfterUpdate:
Debes de poner un Update igual que el del evento AfterInsert....
- Eliminar un registro, lo seleccionas desde el lateral y usa el Evento Al Eliminar de l formulario, colocándole un update con la resta.
Saludos, intenta hacerlo y si no te sale lo dices.
| |
|
|
HENRY_DAVID | |
|
Re: ACCESS - 2007-06-01 19:53 - Respuesta 14
Disculpa la molestia amigo ebolo pero no entendi bien el ultimo mensaje, me puedes dar mas detalles, al referirte al cuadro de texto en el que tenga el campo de la cantidad. te refieres al campo unidcompras que esta dentro del subformulario. A ver si por favor me detalles el codigo | |
|
|
ebolo | |
|
Re: ACCESS - 2007-06-01 23:32 - Respuesta 15
sí debe ser el unidcompras.
Lo que tienes en el subformulario en un cuadro de texto, con el origen de datos de un campo, en este caso Unidcompras; si vas a las propiedades del cuadro de texto verás todas las opciones que tienes del mismo.
En la pestaña Datos, tienes el origen de datos, en donde te aparecen todos los campos del origen de datos del subformulario; en la pestaña Eventos tienes todos los eventos que puede realizar un objeto.
Lo que se va añadiendo a un formulario, informe, ... son objetos a los que damos origen de datos ó no, es decir son independientes.
Te comento ésto porque es importante tener las nociones básicas claras para seguir con temas un poco más 'complicados'.
seguimos con lo nuestro:
- Modificar:
* evento antes de actualizar: restamos la cantidad que nos ponga en el cuadro de texto del stock.
Private Sub unidcompras_BeforeUpdate(Cancel As Integer)
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] - " & me.unidcompra
consulta = consulta & " WHERE (((PRODUCTOS.[unidcompra])=" & Me.idproducto & "))"
CurrentDb.Execute consulta
End Sub
* evento después de actualizar: sumamos la cantidad que nos ponga en el cuadro de texto al stock.
Private Sub unidcompras_AfterUpdate()
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] + " & me.unidcompra
consulta = consulta & " WHERE (((PRODUCTOS.[unidcompra])=" & Me.idproducto & "))"
CurrentDb.Execute consulta
End Sub
saludos.
| |
|
|
|