Синтаксическая ошибка с DLookup
Я не могу понять, что не так с моим кодом здесь. Он продолжает говорить, что есть синтаксическая ошибка
Dim NullorNot As Date
NullorNot = Nz(DLookup("[Week]", "[Weeks on Call]", "[Week] = #" & cboWeek.Column(1) & "#"), [#01/01/2000#])
РЕДАКТИРОВАТЬ:
Вот полный код кнопки вставки. Цель этого состоит в том, чтобы я хотел добавить запись для двух сотрудников, которые будут находиться в режиме разговора, один из которых будет основным, а другой - резервным копированием в течение определенных двух недель.
Private Sub cmdInsert_Click()
Response = MsgBox("Are you sure you would like to add this form?", [vbYesNoCancel], "Confirm Insert")
If Response = vbYes Then
Dim TempCount As Date
Dim TempCount2 As Date
Debug.Print "[Week] = #" & cboWeek.Column(1) & "#"
TempCount = Nz(DLookup("[Week]", "[Weeks on Call]", "[Week] = #" & cboWeek.Column(1) & "#"), #1/1/2000#)
TempCount2 = Nz(DLookup("[Week]", "[Weeks on Call]", "[Week] = #" & cboWeek2.Column(1) & "#"), #1/1/2000#)
If ((TempCount = #1/1/2000#) And (TempCount2 = #1/1/2000#)) Then
GoTo Method_Run
Else
Dim Msg2 As String
Msg2 = "Employees have already been assigned to be On Call for that date."
Dim title2 As String
title2 = "Duplicate Error"
MsgBox Msg2, [vbOKOnly], title2
End If
Method_Run:
Dim SQL As String
Dim SQL2 As String
On Error GoTo Err_Insert
DoCmd.SetWarnings False
SQL = "INSERT INTO [Weeks on Call]([Primary Employee], [Backup Employee], [Week]) VALUES ('" + cboName.Column(1) + "','" + cboName2.Column(1) + "','" + cboWeek.Column(1) + "')"
SQL2 = "INSERT INTO [Weeks on Call]([Primary Employee], [Backup Employee], [Week]) VALUES ('" + cboName2.Column(1) + "','" + cboName.Column(1) + "','" + cboWeek2.Column(1) + "')"
DoCmd.RunSQL SQL
DoCmd.RunSQL SQL2
Exit_Err:
Exit Sub
Err_Insert:
If Err.Number = 94 Then GoTo Err_Msg
Err_Msg:
Dim Msg As String
Msg = "One or more of the fields is null, please make sure each field is filled"
Dim title As String
title = "Null Error"
MsgBox Msg, [vbOKOnly], title
End If
If Response = vbNo Then
Response = MsgBox("Entry was not saved", [vbOKOnly], "Not Saved")
End If
If Response = vbCancel Then
Response = MsgBox("Entry was not saved", [vbOKOnly], "Not Saved")
End If
End Sub
1 ответ
Когда вы заключаете значение даты в квадратные скобки, Access интерпретирует его как идентификатор объекта вместо буквального значения даты / времени.
Устранить квадратные скобки.
NullorNot = Nz(DLookup("[Week]", "[Weeks on Call]", "[Week] = #" & cboWeek.Column(1) & "#"), #01/01/2000#)