Исходя из вашего исходного вопроса, который сейчас выглядит не так, как будто вы его отредактировали, чтобы указать обновленный код и ошибки, вы получили:
id = Me.Text18
Forms![frm_ics238Table].Refresh
If Not IsNull(DLookup("[eventID]", "[frm_ics238Table]", "[checkoutDate] is Null And employeeID = '" & Me.Text18 & "'")) Then
MsgBox "y"
End If
Я думаю, что это может помочь:
"[frm_ics238Table]"
должно быть таблицей: "[tbl_ics238Table]"
- Идентификатор объявлен как целое число, но вы используете его как
строка. Если employeeID - фактически числовое поле, удалите кавычки
вокруг
employeeID = '" & Me.Text18 & "'"
Это должно выглядеть так employeeID = " & ID & "
- Вы также можете попробовать использовать
IsNull([checkoutDate])
вместо
[checkoutDate] is Null
ТАК это может выглядеть так:
If Not IsNull(DLookup("[eventID]", "[tbl_ics238Table]", "IsNull([checkoutDate]) And (employeeID = " & ID & ")")) Then
MsgBox "y"
End If
Еще лучше было бы поместить критерии в строковую переменную, чтобы вы могли сначала отладить и протестировать ее
Dim strCriteria as String
strCriteria = "IsNull([checkoutDate]) And (employeeID = " & ID & ")"
Debug.Print strCriteria
If Not IsNull(DLookup("[eventID]", "[tbl_ics238Table]", strCriteria)) Then
MsgBox "y"
End If
РЕДАКТИРОВАТЬ: ДОКАЗАТЕЛЬСТВО КОДА РАБОТЫ:
Не то чтобы я не верил вам, но я не верю, что это не сработает, если то, что вы описали, соответствует моим предположениям.
Я успешно протестировал, используя предположения, что:
- eventID - числовое поле
- checkoutDate - поле даты / времени
- employeeID - числовое поле
Моя таблица данных образца
![table](https://i.stack.imgur.com/Y5qkw.jpg)
Затем я помещаю командную кнопку в форму, чтобы проверить код:
Private Sub Command8_Click()
Dim strCriteria As String
Dim ID As Integer
ID = 4
strCriteria = "IsNull([checkoutDate]) And (employeeID = " & ID & ")"
Debug.Print strCriteria
If Not IsNull(DLookup("[eventID]", "[tbl_ics238Table]", strCriteria)) Then
MsgBox "y"
End If
End Sub
Наконец - проверка нажатия кнопки привела к:
![Results](https://i.stack.imgur.com/E95DZ.jpg)
В заключение - если вы все еще получаете ошибку, вы можете обновить
ваш вопрос с ОБА вашим кодом и дизайном вашего стола.