Actualizar. Le mando más información de mi duda
Publicado por Mimy (4 intervenciones) el 21/06/2007 20:46:17
Ok tengo mi BD para un punto de venta de una farmacia, mis tablas son: productos, clientes, proveedores, departamentos, personal que labora, ventas,detalle de venta, en un formulario de ventas tengo un subformulario de detalle de ventas en donde tengo Idventa, fecha, datos del cliente, personal que atendió la venta, IdProducto,Descripción,Precio,Descuento,PrecioconDescuento, CantidadExistencia, CantidadSolicitada =Cantidad,subtotal y total. En el campo CantidadSolicitada en el evento despues de actualizar tengo un código para que al momento que escriba la cantidad requerida me aparezca si hay o no y que me actualice la existencia en la tabla productos, pero tengo un error porque me actualiza toda la columna de CantidadExistencia, ej: si tengo 3 Vitacilina y pido 2 me resta esas 2 a todos los productos y solo debe ser a la vitacilina. El código que tengo es el siguiente:
Private Sub Cantidad_AfterUpdate()
Dim Actualiza As String
If Me.CantidadExistencia <= 0 Then
MsgBox "No hay Existencias de este Artículo", vbCritical, "Aviso"
Me.Cantidad.SetFocus: Me.Cantidad = 0
Exit Sub
End If
If Me.CantidadExistencia < Me.Cantidad Then
MsgBox "La Compra no puede ser mayor que las Existencias actuales." & _
Chr(10) & "Esta Compra queda reducida a " & Me.CantidadExistencia & " Unidades.", vbInformation, "Aviso"
Me.Cantidad = Me.CantidadExistencia And CantidadExistencia = 0
End If
Actualiza = "UPDATE productos SET CantidadExistencia = CantidadExistencia - Cantidad WHERE IdProducto ='" & Me.IdProducto & "'"
DoCmd.RunSQL Actualiza
Me.CantidadExistencia.Requery
If CantidadExistencia < 0 Then
CantidadExistencia = 0
End If
End Sub
Se lo agradecería muucho.
Private Sub Cantidad_AfterUpdate()
Dim Actualiza As String
If Me.CantidadExistencia <= 0 Then
MsgBox "No hay Existencias de este Artículo", vbCritical, "Aviso"
Me.Cantidad.SetFocus: Me.Cantidad = 0
Exit Sub
End If
If Me.CantidadExistencia < Me.Cantidad Then
MsgBox "La Compra no puede ser mayor que las Existencias actuales." & _
Chr(10) & "Esta Compra queda reducida a " & Me.CantidadExistencia & " Unidades.", vbInformation, "Aviso"
Me.Cantidad = Me.CantidadExistencia And CantidadExistencia = 0
End If
Actualiza = "UPDATE productos SET CantidadExistencia = CantidadExistencia - Cantidad WHERE IdProducto ='" & Me.IdProducto & "'"
DoCmd.RunSQL Actualiza
Me.CantidadExistencia.Requery
If CantidadExistencia < 0 Then
CantidadExistencia = 0
End If
End Sub
Se lo agradecería muucho.
Valora esta pregunta
0