Фильтр динамического месяца при запуске формы - PullRequest
0 голосов
/ 02 ноября 2018

Я получил фильтр для моей формы , где я могу выбрать месяц - тогда будут показаны все данные, связанные с этим месяцем. Перевод: Datenauswahl = Выберите месяц

Моя проблема в том, что 90% времени пользователь хочет работать в текущем месяце и не хочет видеть прошлые данные. Каждый раз, когда пользователь переключает вкладку в форме навигации, фильтр сбрасывается.

Итак, попробовал Значение по умолчанию моего комбинированного списка: Format(Datum();"mm") Результат: Ввод текущего месяца: Да | Фильтр: Нет . Таким образом, должна быть возможность, что после загрузки значения по умолчанию форма проверяет значение поля со списком и фильтрует его каждый раз при переключении между вкладками навигации или при загрузке.

В моей форме я активировал Фильтр при нагрузке . Сам фильтр формы является: Format([tbl_taetigkeitserfassung.TaetigkeitsDatum], 'mm') = '11' -> bc в выпадающем списке. Значение типа: Format([tbl_taetigkeitserfassung.TaetigkeitsDatum], 'mm') = Format(Datum();'mm') не работает

Буду признателен за помощь или идеи для улучшения моего пользовательского опыта

Кстати: код комбинированного списка, если необходимо:

Private Sub Kombinationsfeld479_AfterUpdate()
    If Me.Kombinationsfeld479 = "Alle" Then
        Me.FilterOn = False
    ElseIf Not IsNull(Me.Kombinationsfeld479) Then
        Me.Filter = "Format([tbl_taetigkeitserfassung.TaetigkeitsDatum], 'mm')='" & Me.Kombinationsfeld479 & "'"
    Me.FilterOn = True
End If

End Sub

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Прежде всего, ваша база данных никогда не будет иметь данных за один год? Ваш текущий процесс фильтрации перестанет работать, как только у вас будут данные за более чем один год. Используйте для этого формат даты "гггг-мм".

Чтобы ваша фильтрация работала так, как вам нужно, вы должны отслеживать каждое изменение в фильтре (или даже включать или отключать его) с помощью Me.Requery, чтобы форма обновлялась на основе нового фильтра.

0 голосов
/ 02 ноября 2018

Хорошо, после некоторого теста я могу сказать, что следующая комбинация свойств формы отлично работает здесь. Форма автоматически применяет фильтр при открытии.

  • Filter On Load: Yes
  • Filter: Format([TaetigkeitsDatum],"mm")=Format(Date(),"mm")

Похоже, что tbl_taetigkeitserfassung. в данном случае неверно и должно быть удалено. Также позаботьтесь о том, чтобы заменить ; на ,, как в моем примере.

...