【发布时间】:2012-05-01 17:17:56
【问题描述】:
我在 Access 2003 数据库(在 Access 2007 中开发)中有三个表单,它们位于父 -> 子 -> 孙关系中。在子窗体的“Form_Load”子窗体中,我设置了孙子窗体的一些属性(窗体标题、行源和控制逻辑)。当我查看子表单时,一切正常。当我查看父表单时,我收到错误:
运行时错误“2455”:您输入的表达式对 Form/Report 属性的引用无效。
参考线:
Me.GrandchildFormName.Form.Foo.Caption = "bar"
我可以访问孙窗体的任何属性除了 Form 属性而不会引发任何错误。有谁知道这可能是什么原因造成的?我在一个新数据库中做了一个测试用例,它工作得很好,所以我倾向于在我与数据库继承的遗留代码中存在一些东西(据我所知,它可以追溯到 18 年前的预访问数据库系统),但我想我会在这里检查一下,看看你们中是否有人知道解决方法。
如果相关的话,表单的实际结构有点复杂,孙表单在子表单中多次出现(在不同的控件名称下),如下所示:
|--------------|
| A |
| |----------||
| | B ||
| | |------|||
| | | C[1] |||
| | |------|||
| | ||
| | |------|||
| | | C[2] |||
| | |------|||
| |----------||
|--------------|
消除除一种外孙形式之外的所有形式并不能解决问题。
如果有办法让孙子表单知道它正在加载到哪个实例,我可能会编写代码来解决这个问题,但据我所知,这是不可能的。
【问题讨论】:
标签: ms-access ms-access-2007 vba ms-access-2003 grandchild