доступ к vba docmd.applyfilter для поиска дат

#vba #date #ms-access

#vba #Дата #ms-access

Вопрос:

Я запускаю код, основанный на номере недели, для фильтрации дат заказа на работу, которые соответствуют столбцу week и больше столбца WODate. Мой код выдает ошибку «Синтаксис» для второй команды applyfilter. Есть ли способ применить оба фильтра одновременно? мой код:

 Private Sub Weeks_AfterUpdate()

    DoCmd.ApplyFilter , "[Week] = '" amp; Me.Weeks amp; "'"
    DoCmd.ApplyFilter , "[WODate] >= #" amp; Format(wodate, "mm/dd/yyy") amp; "# and [FYDate] <= #" amp; Format(todate, "mm/dd/yyyy") amp; "#"

    Me.FilterOn = True


End Sub
  

Ответ №1:

Вы пропускаете y, и разделители дат должны быть экранированы:

 DoCmd.ApplyFilter , "[WODate] >= #" amp; Format(wodate, "mm/dd/yyyy") amp; "# and [FYDate] <= #" amp; Format(todate, "mm/dd/yyyy") amp; "#"
  

Комментарии:

1. Спасибо, но это все еще выдает мне синтаксическую ошибку в дате в выражении запроса. и в результате фильтр не применяет эту часть кода.

2. Если поля имеют тип данных DateTime , а переменные действительно содержат значения даты, синтаксис правильный. Возможно, ваши поля являются текстовыми?