有谁知道如何在Access运行时模式下以正确的方式过滤报告?
使用DoCmd
的常用代码不起作用。
这是我为报告所尝试的内容:
Private Sub Befehl217_Click()
DoCmd.OpenReport "Tagesbericht", acViewPreview
End Sub
Private Sub Bezeichnungsfeld26_Click()
DoCmd.GoToControl "DateFilter"
DoCmd.RunCommand acCmdFilterMenu
End Sub
这没有用。访问抱怨" FilterMenu不可用" 。
我尝试创建一个上下文菜单,但这只显示了剪切,复制和粘贴。
答案 0 :(得分:1)
您确认您的报告包含名为Bezeichnungsfeld26
的控件,当用户点击该控件时,您需要调出该控件的过滤器菜单。
当用户点击该控件时,它具有焦点,因此不需要GoToControl
。如果您希望用户在Bezeichnungsfeld26
上进行过滤,则您不想使用其他控件。
停用GoToControl
行...
Private Sub Bezeichnungsfeld26_Click()
'DoCmd.GoToControl "DateFilter"
DoCmd.RunCommand acCmdFilterMenu
End Sub
答案 1 :(得分:0)
您可以使用过滤器属性:
Me.Filter = "[YourField] = " & somevalue & ""
Me.FilterOn = True
或者,扩展您当前的方法:
DoCmd.OpenReport "Tagesbericht", acViewPreview, , "[YourField] = " & somevalue & ""
如果您过滤日期,则必须为日期传递格式正确的字符串表达式:
Dim FilterDate As Date
FilterDate = Date
DoCmd.OpenReport "Tagesbericht", acViewPreview, , "[DateFilter] = #" & Format(FilterDate, "yyyy\/mm\/dd") & "#"