【发布时间】:2016-07-20 03:22:44
【问题描述】:
我试图将变量从模态表单传递到子表单中的子表单,但无法创建正确的语法。子表单“sfrProfiling”包含在子表单“Crafter Default”中,该子表单包含在“主表单”中。我有一个名为“sfrChangeProfilePics”的模式弹出窗口。我可以毫无问题地创建变量,但无法将变量值传递给子表单“sfrProfiling”上的字段“pic”。错误说它找不到该字段。
这些子表单也在导航子表单中。
更新:
我正在尝试将变量从模态表单 (sfrChangeProfilePics) 传递到 NavigationSubform (sfrProfiling) 中的子表单,再传递到 NavigationSubform (Crafter 默认) 中的子表单,该子表单位于主表单 (Main Form) 中并且无法创建正确的语法。当它们只是主表单中的子表单中的子表单时,我的代码可以工作。一旦我将它们插入导航控件,它就不起作用了。我的 navigationSubform 名称是“NavigationSubform”。
我的代码如下:
Public Sub Command4_Click()
Dim myProfiling As Recordset
Set myProfiling = CurrentDb.OpenRecordset("Profiling")
varChangePicture = Forms!sfrChangeProfilePics!FileName.value
DoCmd.Close
Forms![Main Form].[Crafter Default].Form!sfrProfiling.Form!pic.value=varChangePicture
End Sub
【问题讨论】:
-
如果 Crafter Default 是子表单控件的名称,则语法正确。
-
是的。检查并重新检查拼写错误。参考:access.mvps.org/access/forms/frm0031.htm——
Forms!Mainform!Subform1.Form!Subform2.Form!ControlName -
或者,您可以将变量从模式传递到主窗体上的隐藏控件,并让子窗体从主窗体中获取该值。
-
我没有提到这些子表单在导航子表单中。这会改变语法吗?
-
@Gustav 我的代码在不在导航子表单中时可以工作。一旦我将子表单放入 navigationSubforms,它就会给我一个错误。我认为问题在于如何调用 MainForm 中的 navigationSubform 中的 navigationSubform 中的值的语法。