l oop ниже зависает, если вход заполняет условие Do ... While.
Этот код предназначен для первой проверки, введен ли код продукта в поле со списком ( Я! Combo_Product_number) существует в поле кода продукта запроса Q_compliant_FCM_EU.
Если он существует, он проверяется на соответствие. Продукт является совместимым, если все его PURE_QP1 (который может быть больше одного для конкретного продукта) найден в поле PURE_QP1 T_DOSSIER_FPL. Если хотя бы один из них не найден, он не соответствует требованиям.
Private Sub Command455_Click()
Dim db As DAO.Database
Dim rst As Recordset
Dim rst1 As Recordset
If Nz(Me!Combo_Product_number) <> "" Then
Set db = CurrentDb
Set rst = db.OpenRecordset("Q_compliant_FCM_EU", dbOpenDynaset)
Set rst1 = db.OpenRecordset("T_DOSSIER_FPL", dbOpenDynaset)
rst.FindFirst "[PRODUCT_CODE] = '" & Me!Combo_Product_number & "'"
If Not rst.NoMatch Then
Do While Not rst1.EOF
rst1.FindFirst "[PURE_QP1] = '" & rst.Fields("PURE_QP1") & "'"
If Not rst1.NoMatch Then
rst1.MoveNext
Else
MsgBox ("Product code is NOT compliant to FPL")
Exit Sub
End If
Loop
MsgBox ("Product code is compliant to FPL")
Else
MsgBox ("Product code is not available")
End If
End If
End Sub
Что не так с приведенным выше кодом?