Как применить фильтр к форме, нажав кнопку на основе значений даты из двух текстовых полей - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь создать код VBA, который каким-то образом применяет фильтр, который показывает только записи, где значение поля [Дата] находится между датами и датами (ввод пользователя). ниже мое представление формы.

Form View

Имена объектов указаны ниже

Кнопка Set Range = btnSetRange, From TextBox = txtFromDate; To TextBox = txtToDate; Имя подчиненной формы = ShipmentHistoryDataSheet; Subform-Source Object = Forms! [Подгрузка История отгрузки]. Источник записи подчиненной истории отгрузки - это запрос выбора из таблицы «История отгрузки».

Я пытался написать код самостоятельно, но у меня ничего не вышло, так как я не специалист по доступу или кодированию. ниже приведен код, который я написал, но не работает должным образом: P

Private Sub btnSetRange_Click()

        Dim subform2 As Form

        Set subform2 = Me!ShipmentHistoryDataSheet.Form

        subform2.Filter = "[Date]>" & Me.txtFromDate And "[Date]<" & Me.txtToDate

        subform2.FilterOn = True
        subform2.Requery

End Sub

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 09 сентября 2018

Попробуйте с определенным форматированием строковых выражений для значений даты:

Private Sub btnSetRange_Click()

    Dim subform2 As Form

    Set subform2 = Me!ShipmentHistoryDataSheet.Form

    subform2.Filter = "[Date] >= #" & Format(Me.txtFromDate, "yyyy\/mm\/dd") & "# And [Date] < #" & Format(Me.txtToDate, "yyyy\/mm\/dd") & "#"
    subform2.FilterOn = True

    ' subform2.Requery  ' should not be needed.

End Sub
...