如何将新表单设置为子表单中的子表单? [accdb]
Posted
技术标签:
【中文标题】如何将新表单设置为子表单中的子表单? [accdb]【英文标题】:How to set a new form to a subform within a subform? [accdb] 【发布时间】:2019-02-01 10:13:13 【问题描述】:因此,我已将我们的应用程序从“mbd”更改为“accdb”,并且某些声明无法按应有的方式工作。
这行代码适用于“mbd”文件,但不适用于“accdb”
Dim subformachart As Form
Set subformachart = Form![subChart].Form!subChartSpace.Form
地点:
form -> 是主窗体 subChart -> 是第一个子表单 subChartSpace -> 是第二个子表单这是我在研究了一些文档后尝试过的,但它不起作用(文档也一直在谈论控件和其他属性,但从不谈论 .Form 属性)
Dim subformachart As Form
Set subformachart = Me!subChart.Form!subChartSpace.Form
This doesn't work.
另外,如果我只想访问
中的第一个子表单Set subformachart = Me!subChart.Form
它工作得很好,但我找不到像 mbd 示例中那样访问第二个子表单的方法。
【问题讨论】:
【参考方案1】:也许你把subform control name
和form name
混用了,或者是代码范围的问题?
我测试了以下星座:
主窗体frmMain
包含一个名为subChart
的子窗体控件,其中包含一个名为frmSub
的窗体。
子表单frmSub
包含一个名为subChartSpace
的子表单控件,其中包含一个名为frmSubSub
的表单。
名为frmSubSub
的子子窗体。
以下代码,放在frmMain
上的按钮的onclick
过程中,执行良好:
'Using Me:
MsgBox Me.subChart.Form.subChartSpace.Form.Name
'Using Form:
MsgBox Form.subChart.Form.subChartSpace.Form.Name
'Set the form in a local variable, using your syntax example:
Dim subformachart As Form
Set subformachart = Form![subChart].Form!subChartSpace.Form
MsgBox subformachart.Name
如果您从主窗体外部调用代码,比如说从标准模块调用,那么您必须首先使用forms
集合来引用主窗体:
MsgBox Forms("frmMain").subChart.Form.subChartSpace.Form.Name
我看不出您的问题有任何其他原因。
【讨论】:
以上是关于如何将新表单设置为子表单中的子表单? [accdb]的主要内容,如果未能解决你的问题,请参考以下文章