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

Фильтрация отчёта при открытии - По данным полей формы

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

Можно задать фильтр отчёта при его открытии.
01. Делаете в форме два поля с датами, с кратким форматом даты, допустим: "txtDateFrom" и "txtDateTo"
02. В той же форме создаёте кнопку вывода отчёта на просмотр, допустим: cmdReportPreeview

Тогда, на событии НажатиеКнопки (cmdReportPreeview):

Private Sub cmdReportPreeview_Click()
Dim sFilter As String
Const sReportName = "rptTest"    'Имя вашего отчета (Замените на своё значение)
'Имя поля даты в источнике данных вашего отчета (Замените на своё значение)
Const sDateFildName = "DocDate" ' например "[дата выезда транспорта]"

'Даты c - по
        sFilter = sDateFildName & " Between " & _
            Format$(Nz(Me!txtDateFrom, 0), "\#mm\/dd\/yyyy\#") & _
            " And " & _
            Format$(Nz(Me!txtDateTo, 999999), "\#mm\/dd\/yyyy\#")
' ... поясню : 999999 это сразу : 4637-й год! :)
        
'Открытие на просмотр с фильтрацией
    DoCmd.OpenReport sReportName, acViewPreview, , sFilter
    DoCmd.Maximize   'Во весь экран
    DoCmd.RunCommand acCmdPreviewOnePage 'Страницу по размеру окна
End Sub
Назад ToTop
L.E. 05.02.2021
Рейтинг@Mail.ru