Actualizar Inventario del Producto seleccionado
Tengo una base de datos que controla las compras y ventas de un almacen. Y tengo organizada las tablas así:
1. Producto= CodProducto + CodCateg + Nombre + Unid + Stock
2. Venta= NoVenta + Fecha + Empleado
3. DetalleVenta= CodDetVenta + NoVenta + CodProducto + Cantidad
4. Compra = NoCompra + Fecha + Empleado + Nota
5. DetalleCompra= CodDetCompra + NoCompra + CodProducto + Cantidad
Diseñe un Form - SubForm de Venta y DetalleVenta, para hacer facturas de venta, donde Una Venta puede tener varios productos. Y en un botón llamado Descargar después del campo Cantidad puse el siguiente código:
' Actualizar stock codigo DAO
Dim dbs As DAO.Database
Dim rstProducto As DAO.Recordset
Dim rstDetalleVenta As DAO.Recordset
Set rstDetalleVenta = CurrentDb.OpenRecordset("select * from DetalleVenta where NoVenta = " & Me!NoVenta)
Set rstProducto = CurrentDb.OpenRecordset("select * from Producto where CodProducto=" & Me!CodProducto)
Do Until rstDetalleComp.EOF
rstProducto.FindFirst "CodProducto=" & rstDetalleVenta!CodProducto
If rstProducto.NoMatch Then
'No se encontrol el Producto Seleccionado
Else
rstProducto.Edit
rstProducto!Stock = rstProducto!Stock + rstDetalleComp!Cantidad
rstProducto.Update
End If
rstDetalleventa.MoveNext
Loop
rstDetalleVenta.Close
Set rstProducto = Nothing
La acción se realiza correctamente cuando ingreso un producto y hago clic en el botón, pero si ese mismo producto lo selecciono una vez más en la misma venta, se suman las dos cantidad y se descarga del stock. Lo que necesito, es que solamente se descargue la cantidad en el registro donde estoy posesionado.