#vba #ms-access #filtering
#vba #ms-access #фильтрация
Вопрос:
У меня есть форма в ms access, которую я хочу фильтровать между двумя датами, обновляемыми одним нажатием кнопки. Поле, которое я хочу отфильтровать, называется Date
Даты, по которым нужно фильтровать, вводятся через пару текстовых полей в формате короткой даты, называемых TxtDtStrt и TxtDtEnd кнопка называется NCRDateFilter
Используя процедуру события кнопки NCRDateFilter «По щелчку» и приведенный ниже код, я бы ожидал, что форма будет отфильтрована по диапазону дат между значениями TxtDtStrt и TxtDtEnd
Private Sub NCRDateFilter_Click()
DoCmd.ApplyFilter "", "[Date] Between [TxtDtStrt] And [TxtDtEnd]", ""
End Sub
Но он не использует значения TxtDtStrt / TxtDtEnd, вместо этого показывает всплывающие окна с запросом TxtDtStrt, а затем другое для значения TxtDtEnd ….
Ответ №1:
Попробуйте использовать статические значения (см. Пример документов):
DoCmd.ApplyFilter , "[Date] Between #" amp; Format([TxtDtStrt], "yyyy/mm/dd") amp; "# And #" amp; Format([TxtDtEnd], "yyyy/mm/dd") amp; "#"
Комментарии:
1. Спасибо, Густав, отлично поработал. Так что в значительной степени мне не хватало того, что мне также нужно было указать формат