Actualización de inventario

Hola Experto, Necesito de su ayuda tengo una BD en access de facturas e inventarios, tengo un formulario de Factura de venta bien formado pero necesito que la ingresar un producto que se vende me diga si hay o no inventario disponible para la venta, ya tengo creado una consulta de resumen de inventario en el que puedo imprimir y saber que productos tienen inventario disponible pero quiero que salga un mensaje o algo al momento de ingresar la cantidad en la factura.
Segundo: dentro del mismo formulario de factura puedo modificar el precio de venta ya que los clientes tienen diferentes precios, pero al ingresar el código de producto me muestra el nombre y el precio de venta, yo modifico el precio de venta y se modifica todo (la facturas ya emitidas la tabla de productos de venta) no se como hacerlo para que al ingresar un nuevo precio no me actualice los demás.
Eso seria espero me puedan ayudar, Gracias.

1 Respuesta

Respuesta
1
Puedes utilizar código para comprobar si hay disponibilidad algo como:
Al perder el enfoque del cuadro cantidad
Dim RST As DAO.Recordset 
Dim strSQL As String 
strSQL = "SELECT * " _ 
       & "FROM almacen" 
strSQL = strSQL & " WHERE Codigo_Articulo='" & Me.TxtCodArticulo & "'" 
Set RST = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) 
If RST.EOF Then 
if rst!Total_Existencia<Txtcantidad then
<span style="white-space: pre;"> </span>Msgbox "No existe esa cantidad de Articulos"
   exit sub
   Else 
<span style="white-space: pre;"> </span>
<span style="white-space: pre;"> </span>'Lo que quieras hacer si todo esta ok  
end if
 End If 
End Sub
Y para el otro punto te recomiendo trabajar con cajas de texto independiente.
Private Sub Cantidad_LostFocus()
Dim RST As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * " _
       & "FROM Productos con Inventario Disponibles"
strSQL = strSQL & " WHERE Id de producto='" & Me![IdProducto] & "'"
Set RST = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
If RST.EOF Then
If RST!Saldo < Txtcantidad Then
<span style="white-space: pre;"> </span>Msgbox "No hay saldo" (esto me sale en rojo)
   Exit Sub
   Else
<span style="white-space: pre;"> </span>  (esto me sale en rojo)
<span style="white-space: pre;"> </span>'Lo que quieras hacer si todo esta ok  (esto me sale en rojo)
End If
 End If
End Sub
Hola Gracias por tu respuesta, lo hice pero no me resulta, sal saldo de inventario lo obtengo de una consulta "Productos con inventarios disponibles" que es SI+CO-VE=Saldo, el identificador de productos es Id de Producto para la consulta y para el formulario es IdProducto, espero me puedas ayudar o si necesitas te envío la BD, Gracias nuevamente.
Private Sub Cantidad_LostFocus() 
Dim RST As DAO.Recordset 
Dim strSQL As String 
strSQL = "SELECT * " _ 
       & "FROM Productos con Inventario Disponibles" 
strSQL = strSQL & " WHERE Id de producto='" & Me![IdProducto] & "'" 
Set RST = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) 
If RST.EOF Then 
If RST!Saldo < Txtcantidad Then 
Msgbox "No hay saldo" 
   Exit Sub 
   Else 
'Lo que quieras hacer si todo esta ok  (esto me sale en rojo) 
End If 
 End If 
End Sub
Nota: Aplícalo así o si no te resulta enviame la BD y la chequeamos
Hola experto sigue sin resultarme te agradecería me dieras tu mail o me envías uno a [email protected] y te envío la BD, gracias por tu tiempo y ayuda.
Debes fijarte como tienes planteada tu BD
Gracias por tu respuesta.
He modificado la BD pero aun así no resulta, quizás este haciendo algún paso mal pero seguiré intentando y ver alguna solución. Gracias.
Te voy armar un ejemplo con el form tal cual lo tienes para que le eches una ojeada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas