You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access打开带多子窗体的主窗体时如何为指定子窗体设置筛选条件

Access为打开的主窗体下指定子窗体单独设置筛选条件的实现方法

DoCmd.OpenForm的whereCondition参数仅作用于主窗体的记录源,没有直接给子窗体传筛选条件的参数语法,你可以通过打开主窗体后主动赋值子窗体的筛选属性实现需求。

修改后的完整实现代码如下:

dtmFrom = Text56.Value 'start date
dtmTo = Text58.Value   'end date
Dim strCriteria As String

strCriteria = "[note_date] >= #" & Format(dtmFrom, "yyyy-mm-dd") & "# AND [note_date] <= #" & Format(dtmTo, "yyyy-mm-dd") & "#"
    
' 第一步:先打开目标主窗体,不需要带where条件
DoCmd.OpenForm "Overview_of_vacation_notes"
' 第二步:给指定子窗体设置筛选条件并启用筛选
' 注意此处将【你主窗体上的子窗体控件名】替换为你实际主窗体里放子窗体的那个控件的名称
Forms!Overview_of_vacation_notes![你主窗体上的子窗体控件名].Form.Filter = strCriteria
Forms!Overview_of_vacation_notes![你主窗体上的子窗体控件名].Form.FilterOn = True

注意事项

  • 代码中的你主窗体上的子窗体控件名需要替换为实际值:该名称是主窗体设计视图中,放置子窗体的容器控件的名称,和子窗体本身的文件名称可能不一致,可以在主窗体设计视图选中子窗体控件,在属性表的「名称」字段查看确认。
  • 如果需要关闭筛选,只需将对应子窗体的FilterOn属性设置为False即可。
  • 日期格式化使用yyyy-mm-dd可以避免不同区域日期格式差异导致的筛选逻辑错误,不需要修改。

内容的提问来源于stack exchange,提问作者jenshon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:39:03