从另一个子表单重新查询子表单,出现问题

如何解决从另一个子表单重新查询子表单,出现问题

| 我在主窗体上有2个子窗体。 Sub_2在列表中显示在sub_1中选择的项目的详细信息。对于这两个子表单,我都使用continue表单,它们被限制为2个查询,并且有一个共同的字段,即“ id”。 我所做的是在sub_1的DClick事件中添加代码以设置sub_2 \的过滤器,例如
Me.Parent.sub_2.Form.Filter = \"id=\" & \"\'\" & Me.Recordset!id & \"\'\"
然后重新查询
Me.Parent.sub_2.Form.Requery
但是没有运气,当我双击sub_1中的记录时,sub_2中没有任何更改。我看了相关的问题,我认为这应该起作用。 有什么建议么?也许我应该使用其他方法来做到这一点? PS:我确定已更改
Me.Parent.sub_2.Filter
,但重新查询无效。 编辑: 感谢您的回答。我发现了问题,就是查询中有'id \'字段,但是它没有显示在子窗体上,因此Access可能无法使用它。 并且当更改过滤器时,Access会自动执行重新查询。     

解决方法

您不需要对filter属性做任何事情。 在第一个子窗体上,设置“链接主字段”和“链接子字段”属性,就像对表单上的常规单个子窗体控件一样。 对于第二个子窗体,还应像设置常规的单个子窗体控件一样设置“链接子字段”属性。链接主字段属性将引用第一个子窗体的控件名称:[子窗体1控件名称]!FieldName。 在第一个子窗体控件的OnCurrent事件中,添加以下VBA代码行:
Me.Parent.Controls![Subform 2 Control Name].Requery
运行表格。当您单击第一个子窗体中的一行时,第二个子窗体将重新查询以显示在第一个子窗体中选择的行的子行。     ,分配过滤器表达式后,将FilterOn属性设置为True。
Me.Parent.sub_2.Form.Filter = \"id=\" & \"\'\" & Me.Recordset!id & \"\'\"
Me.Parent.sub_2.Form.FilterOn = True
    ,您将需要以下内容:
Me!Subform2.Form.Requery  
\'or  
Forms!Mainform!Subform1.Form!Subform2.Form.Requery
我没有时间进行测试,所以我无法确定到底Subform1和Subform2是实际子窗体的名称还是仅仅是Subform控件/容器的名称。我认为是后者。 这是这些问题的绝佳来源: http://access.mvps.org/access/forms/frm0031.htm 我对该页面的唯一抱怨是,它们不涉及调用方法,子/函数或引用公共变量。所有这些都(或可能)与此处列出的方案略有不同。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?