MS-ACCESS Filter Subform с кнопкой - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь сделать что-то, что мне кажется очень тривиальным.Я смог сделать это с помощью ComboBox, но перешел на использование подформ, из-за простоты условного форматирования.

Форма = Срок действия

SubForm = CORE2

Поля= [Core], [Active]

Кнопка = CoreSearch

Option Compare Database

Private Sub CoreSearch_Click()

Dim Task As String

Me.Refresh

Task = "SELECT * FROM CORE2.Expiring WHERE DateDiff('m', [Core RS], Date()) > 36 And [Active] = True"

DoCmd.ApplyFilter Task

End Sub

Я продолжаю получать The action of method is invalid because the form or report isn't bound to a table or query.Это потому, что я не указываю, где применять фильтр?

1 Ответ

0 голосов
/ 04 января 2019

Я не могу найти ни одного примера, который использует аргумент FilterName, все они используют аргумент WHERE Condition.

ApplyFilter действует в любой форме, за которой стоит код.

Предполагается, что кнопка находится на форме CORE2.

DoCmd.ApplyFilter , "DateDiff('m', [Core RS], Date()) > 36 And [Active] = True"

В качестве альтернативы:

Me.Filter = "DateDiff('m', [Core RS], Date()) > 36 And [Active] = True"
Me.FilterOn = True

Предложить именование элемента управления контейнера подчиненной формы / подотчета, отличного от объекта, который он содержит, например ctrCore. Если кнопка находится на главной форме и вы хотите применить фильтр к подчиненной форме:

Me.ctrCore.Form.Filter = "DateDiff('m', [Core RS], Date()) > 36 And [Active] = True"
Me.ctrCore.Form.FilterOn = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...