Access - actualizacion

 
Vista:

actualizacion

Publicado por julio (2 intervenciones) el 10/04/2005 00:46:04
La pregunta es simple, necesito actualizar (descontar) el campo stock de una tabla cada vez q vendo un producto a travez de un formulario q contiene otro subformulario. El formulario trae datos de la tabla productos en la cual esta "Stock" y el subformulario trae los datos de una consulta formada por datos de productos y de otra tabla "Detalledeproductos" en la cual esta la cantidad.

Aunque la esplicacion es larga, es muy simple.
muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Actualización del campo Stock al vender productos desde un formulario y subformulario

Publicado por Alejandro (4142 intervenciones) el 30/05/2023 22:16:14
Para actualizar el campo "Stock" de la tabla "Productos" cada vez que se realiza una venta a través del formulario y subformulario, puedes seguir estos pasos:

1. En el evento después de actualizar del subformulario, es decir, cuando se registra una venta, puedes agregar el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim db As DAO.Database
Dim rsProductos As DAO.Recordset
Dim rsDetalle As DAO.Recordset
Dim cantidadVendida As Integer
Dim idProducto As Integer
 
Set db = CurrentDb()
Set rsDetalle = Me.NombreSubformulario.Form.RecordsetClone
 
' Iterar sobre los registros del subformulario
rsDetalle.MoveFirst
Do Until rsDetalle.EOF
    cantidadVendida = rsDetalle!Cantidad ' Obtener la cantidad vendida del subformulario
    idProducto = rsDetalle!IDProducto ' Obtener el ID del producto
 
    ' Actualizar el campo "Stock" en la tabla "Productos"
    Set rsProductos = db.OpenRecordset("SELECT * FROM Productos WHERE IDProducto=" & idProducto)
    rsProductos.Edit
    rsProductos!Stock = rsProductos!Stock - cantidadVendida ' Restar la cantidad vendida al stock actual
    rsProductos.Update
    rsProductos.Close
 
    rsDetalle.MoveNext
Loop
 
rsDetalle.Close
Set rsDetalle = Nothing
Set rsProductos = Nothing
Set db = Nothing

Asegúrate de reemplazar "NombreSubformulario" con el nombre real del subformulario en tu formulario y "NombreCampoCantidad" y "NombreCampoIDProducto" con los nombres reales de los campos en el subformulario que almacenan la cantidad vendida y el ID del producto, respectivamente.

Este código recorre los registros del subformulario y actualiza el campo "Stock" en la tabla "Productos" restando la cantidad vendida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar