VBA, MS Access MS Access в примерах

Фильтрация формы по диапазону дат

По материалам: https://www.cyberforum.ru/ms-access/thread2917325.html

Private Sub FormRefilter()
'Построройка фильтра по полям периода и фильтрация (если задано):
Dim sFilter$

'Даты c - по (Поле: [Дата Документа]):
    If IsNull(Me!txtДатаС) = False Or IsNull(Me!txtДатаПо) = False Then
        sFilter = "[Дата Документа] Between " & Format$(Nz(Me!txtДатаС, 0), "\#mm\/dd\/yyyy\#") & _
        " And " & Format$(Nz(Me!txtДатаПо, 999999), "\#mm\/dd\/yyyy\#")
        ' 999999 = 4637-й год! :)
    End If
    
'Применяем:
    If Len(sFilter) > 0 Then 'Фильтр задан
        Me.Filter = sFilter
        MeForm.FilterOn = True
    Else 'Отмена фильтра
        Me.Form.Filter = ""
        Me.FilterOn = False
    End If
End Sub

Назад ToTop
L.E. 08.12.2021
Рейтинг@Mail.ru