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 在子窗体中不起作用

在 Microsoft Access 2013 中的数据表子窗体上单击一行时运行 VB

microsoft access在子表单中填充外键