Попытка найти повторяющиеся записи в ошибке доступа - PullRequest
0 голосов
/ 14 апреля 2020

Я делаю базу данных для спортивного клуба. При заполнении формы они вводят идентификатор объекта, время начала, время окончания и дату. То, что я пытаюсь сделать, это когда они входят в окно времени окончания, функция просматривает записи в таблице «Бронирования», где хранятся все данные из этой формы, чтобы увидеть, забронировано ли учреждение в это время. (Для определения, если он забронирован в определенное время, если время начала или время окончания в таблице находится между тем, что заполнено в форме, выдается ошибка. Код показан ниже:

Private Sub EndNon_AfterUpdate()
    Dim criteria As String
   criteria = _
      "Non-PlayingFacilityID= " & Me.NonPlayID.Value & " " & _
      "Date(Non-PlayingFacility)= " & Me.DateNon.Value & _
      " " & "AND [StartTime(Non-PlayingFacility)] Between Me.StartNon.Value And Me.EndNon.Value OR [EndTime(Non-PlayingFacility)] Between Me.StartNon.Value And Me.EndNon.Value "

   If DCount("*", "Bookings", criteria) > 0 Then
      MsgBox "Unfortunately, this facility is booked at this time"
      Me.Undo
   End If

End Sub

Синтаксическая ошибка выдается, когда я запускаю это, не знаю почему. Любая помощь будет высоко ценится

1 Ответ

0 голосов
/ 14 апреля 2020

Вероятно, он выделяет этот неверный синтаксис:

"Date(Non-PlayingFacility)= " & Me.DateNon.Value & _

Возможно, вы имеете в виду:

"DateValue([Non-PlayingFacility])= " & Format(Me!DateNon.Value, "\#yyyy\/mm\/dd\#") & _

Оставшиеся сравнения дат необходимо объединить и отформатировать аналогичным образом.

Приложение - задано скрытое имя поля:

"[Date(Non-PlayingFacility)]= " & Format(Me!DateNon.Value, "\#yyyy\/mm\/dd\#") & _

Формат необходим для создания допустимого строкового выражения в SQL для значения даты. Это не зависит от формата, используемого для отображения.

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