Как проверить, является ли количество более или менее на столе? - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужно проверить, достаточно ли у меня количества определенного продукта.Как мне сделать так, чтобы количество, которое он проверял, было количеством продукта в текстовом поле (txtIdProd).

Это мой код:

Private Sub Cantidad_LostFocus()
Set myDatabase = CurrentDb()
Set myRs = myDatabase.OpenRecordset("TblProductos", dbOpenDynaset)
Dim cant As Integer
cant = txtCantidad
myRs.FindFirst "IDProducto=" & Me.txtIdProd
If myRs.NoMatch = False Then
    If cant > myRs("CantidadDisponible") Then
        Me.Label27.Visible = True
    End If
End If
Exit Sub
Me.Label27.Visible = False

End Sub

1 Ответ

0 голосов
/ 26 февраля 2019

Код FindFirst должен делать именно то, что вы хотите.Однако, вероятно, более эффективно фильтровать набор записей.

Private Sub Cantidad_LostFocus()
    Dim cant As Integer
    If Not IsNull(Me.txtIDProd) Then
        Set myDatabase = CurrentDb()
        Set myRs = myDatabase.OpenRecordset("SELECT CantidadDisponible FROM TblProductos WHERE IDProducto=" & Me.txtIdProd, dbOpenDynaset)
        cant = rs!CantidadDisponible
    End If
    Me.Label27.Visible = Me.txtCantidad <= cant
End Sub

Другой подход, который не использует набор записей:

Me.Label27.Visible = Me.txtCantidad <= Nz(DLookup("CantidadDisponible", "TblProductos", "IDproducto=" & Nz(Me.txtIDProd,0)), 0)

Обратите внимание на использование <= и предполагает, что txtCantidad не будет иметь 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...