访问过滤器VBA

use*_*709 10 ms-access vba access-vba

我试图在vba中使用这样的过滤器:

Private Sub Form_Load()

    Me.Filter = "[Alvo] = " & AlvoAtual  
    Me.FilterOn = True  
    Me.Requery  

End Sub
Run Code Online (Sandbox Code Playgroud)

AlvoAtual是全球变量,但没有发生.当我将AlvoAtual更改为特定值时,也不会发生这种情况.像这样:

Private Sub Form_Load()

     Me.Filter = "[Alvo] = 'AAAA'"
     Me.FilterOn = True
     Me.Requery

End Sub
Run Code Online (Sandbox Code Playgroud)

有人知道这个问题吗?


我正在采纳这个问题(VBAWhatnow),希望得到答案,而不是像我的建议那样复制.

我试图做同样的事情,除了局部变量.

我手动定义值时,我的过滤器工作正常,但是当我引入变量时,过滤器不再有效

Forms![frmPendingActions]![qryPendingAction subform].Form.Filter = "Filterby = FilterCrit"
Run Code Online (Sandbox Code Playgroud)

谁能帮我找到一个好的解决方案?

Pat*_*rez 0

尝试将您的 3 条指令替换为:

    DoCmd.ApplyFilter wherecondition:= "[Alvo] = " & AlvoAtual
Run Code Online (Sandbox Code Playgroud)

请注意,您还可以手动设置条件,并将 FilterOnLoad 选项设置为 True 并保存表单。在这种情况下不需要编程。
“最好的宏就是没有宏……”