Microsoft Access 子窗体不会填充
Posted
技术标签:
【中文标题】Microsoft Access 子窗体不会填充【英文标题】:Microsoft Access Subform won't populate 【发布时间】:2012-12-06 18:41:33 【问题描述】:我有一些代码可以用记录集填充主窗体上的单个子窗体。问题是记录没有显示在子表单上。如果我将子表单作为自己的表单打开,那么使用几乎相同的代码它可以完美地工作:
Forms!frmCorrespondanceHolidays.RecordSource = strsql ' WORKS FINE
Me.frmCorrespondanceHolidays.Form.RecordSource = strsql 'SHOWS NO RECORDS
我已经测试过,如果我只是将 strSQL 的值粘贴到查询中,则会返回正确的记录。 我开始认为这是 Access 中的一个错误。我尝试通过创建一个新数据库并导入所有对象来重新创建数据库。我也有紧凑和修复。不知道还能尝试什么!
【问题讨论】:
【参考方案1】:子表单的名称与子报表的源名称不同。您需要在此处查找要在 VBA 中引用的名称。当父窗体处于设计视图并查看属性时,您选择子窗体一次。
【讨论】:
可以,但我一般将子窗体控件命名为与子窗体相同。如果这是问题所在,我会收到一条错误消息,提示找不到控件,但代码运行良好,只是不显示记录。谢谢你的想法。 我正在使用 Option Explicit【参考方案2】:经过进一步调查,我发现它与 sql 而不是子表单有关。如果 sql 包含不引用父表单记录的查询,则会显示。如果 sql 包含引用表单的查询,则不显示任何记录。我想我将不得不解决这个限制。谢谢指点。
【讨论】:
以上是关于Microsoft Access 子窗体不会填充的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VB6 窗体中使用 Microsoft Office Access 的子窗体控件?
使用主窗体中的未绑定文本框过滤 Microsoft Access 中的子窗体
Microsoft Access - 子窗体中的组合框基于主窗体组合框
Microsoft Access Where Condition 在子窗体中不起作用