Ms access Can';无法从窗体/子窗体获取重新查询
背景: 我正在尝试向使用Access 2003创建的旧Access数据库添加新表单。以前的表单基于表,但新表单的字段基于查询 我有一个名为MasterList的表单,其中包含子表单MasterList\u Sub。MasterList包含我想用来过滤MasterList\u Sub的文本框,以及一个搜索和清除按钮。主列表_子项显示在下面 我修改了其他表单中搜索按钮的VBA,但它似乎不起作用。以下是工作表单中的代码:Ms access Can';无法从窗体/子窗体获取重新查询,ms-access,ms-access-2013,Ms Access,Ms Access 2013,背景: 我正在尝试向使用Access 2003创建的旧Access数据库添加新表单。以前的表单基于表,但新表单的字段基于查询 我有一个名为MasterList的表单,其中包含子表单MasterList\u Sub。MasterList包含我想用来过滤MasterList\u Sub的文本框,以及一个搜索和清除按钮。主列表_子项显示在下面 我修改了其他表单中搜索按钮的VBA,但它似乎不起作用。以下是工作表单中的代码: Private Sub SEARCH_Click() Forms!mrtgref
Private Sub SEARCH_Click()
Forms!mrtgref!Mrtgref_sub.Requery
End Sub
我的代码很简单
Private Sub SEARCH_Click()
Forms!MasterList!MasterList_Sub.Requery
End Sub
当我按下搜索按钮时,似乎发生了一些事情,但子窗体不会更新。我对Access编程还不熟悉,但根据我所读的内容,这段代码看起来太简单了,好像我遗漏了什么。我在数据库中找不到任何其他VBA模块,字段的设置与其他数据库类似。关于如何从这里开始有什么想法吗
此外,我还尝试了一些其他语法,当它不起作用时,我会出现一个错误,以“Mortgee Inquiry找不到…”开头,它从何处获取Mortgee Inquiry的名称?
MasterList\u Sub
是一个子表单控件.Requery
是表单本身的一种方法,因此您需要在.Requery
之前添加.Form
结构:
Forms!MainForm!SubformControl.Form.Requery
就你而言:
Forms!MasterList!MasterList_Sub.Form.Requery
请澄清:子窗体recordsource是否基于查询,如果是,请发布sql。如果是查询,它是否在表单字段上进行过滤?其次,子窗体是否使用“链接主/子”指针链接到主窗体?子窗体基于查询,SQL如下。链接主/子字段中没有任何内容。我正在查看的其他表单的示例中,这些字段也是空的,它们正在工作。我确实尝试过使用MRTG_CD作为链接主控,然后它就可以用于该字段,但不适用于任何其他字段。我希望任何字段(总共12个)都可以用作过滤器选择Mortgee.Mortgee\u CD、Mrtglist.MRTG\u TB、Mortgee.PLCY\u MRTG\u CO\u名称1、Mortgee.PLCY\u STREET\u地址1、Mortgee.PLCY\u CITY\u名称、Mortgee.PLCY\u州代码、Mortgee.PLCY\u邮编、Mrtglist.MRTG\u类型、Mrtglist.MRTG\u CNT、Mortgee.BILL\u CO\u地址1、Mortgee.BILL\u街道地址,Mortgee.BILL\u CITY\u NAME、Mortgee.BILL\u STATE\u CODE、Mortgee.BILL\u ZIP\u CODE(来自Mortgee内部)在Mortgee.Mortgee\u CD上加入Mrtglist=Mrtglist.MRTG\u CD;我看不到主窗体和子窗体之间会过滤记录的链接,因此这就是它不起作用的原因。您有多种选择,但最直接的方法是使用主窗体VBA为子窗体设置筛选器:Me.MasterList_Sub.form.filter=”“Me.MasterList_Sub.form.FilterOn=trueThank!这对我来说是有道理的,但仍然不起作用。似乎后台正在发生某些事情,但子窗体不会更新。