引用子表单在 access 2007 中可以正常工作,但在 2013 年则不行

Posted

技术标签:

【中文标题】引用子表单在 access 2007 中可以正常工作,但在 2013 年则不行【英文标题】:referencing a subform works fine in access 2007 but not in 2013 【发布时间】:2015-05-27 13:45:20 【问题描述】:

刚刚安装了 Access 2013 并立即遇到了一些问题。 我正在尝试从子表单上的文本框中获取一个值并在主表单上显示它。我在 Access 2007 中做过无数次的标准工作,没有问题。在 Access 2013 中,由于某种原因,它不起作用。我收到错误消息:#Name?

然后我打开一个用Access 2007制作的旧数据库,没有问题。子表单上的文本框的值按原样显示在主表单上。该语法与我在 Access 2013 中创建的数据库中不起作用的语法相同。好奇!

然后我对工作文本框进行了简单的复制和粘贴,你猜怎么着?粘贴的副本不起作用!当然,原来的仍然有效。越来越好奇了!语法和格式与父级相同的复制和粘贴文本框如何不起作用超出了我的范围。

在主表单的原始文本框中工作的语法:[subformname].[Form]![textboxname]

语法在主表单的副本中不起作用:[subformname].[Form]![textboxname]

错误消息:#Name?提示找不到子表单上的文本框。不过如果能在原著里找到的话……

我已经联系了 Office 支持,但在我等待的时候,这里可能有人有答案。

所以我是个白痴,解决方案真的很明显(也许是最有可能的情况)还是这里发生了更险恶的事情?

【问题讨论】:

由于您正在处理不同的 Access 版本,请检查您的项目的引用(从给您带来麻烦的版本中)。从 VB 编辑器的主菜单中,选择 Tools->References。是否有任何勾选标记的参考标记为 MISSING 不!前四项勾选:Visual Basic for Applications、Microsoft Access 15.0 Object Library、OLE Automation、Microsoft Access 15.0 Access 数据库引擎 Object Library。他们没有被标记为失踪。也许需要检查其他一些参考? 如果从主菜单运行 Debug->Compile 会发生什么? Access 是否抱怨您的代码中的任何内容?您的所有标准、类、表单和报告模块是否在其声明部分中包含Option Explicit 它不在 VBA 代码中。它在文本框的控制源中。 那么,Control Source 属性值是多少? 【参考方案1】:

我可以使用 VBA 在文本框中获得正确的值,所以我不会这样。知道为什么在 2010 年设置控制源属性时它在 2007 年工作时它不起作用会很有趣。

【讨论】:

以上是关于引用子表单在 access 2007 中可以正常工作,但在 2013 年则不行的主要内容,如果未能解决你的问题,请参考以下文章

基于查询的子表单中的字段的 Access 2007 验证帮助

Access 2007 不允许用户删除子表单中的记录

Access 2007 中的选项卡控件之外的选项卡

通过弹出子表单 (2) 添加新子表单 (1) 记录后重新查询子表单 (1) - Access 2007

在Access 2007 VBA中,未保存的表单和报表是否可以键入为“AccessObject”..?

MS-Access 2007 - 如何在点击事件中以编程方式访问子表单列数据