【问题标题】:Syntax Passing Variable from Form to subform inside subform语法将变量从表单传递到子表单内的子表单
【发布时间】: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 中的值的语法。

标签: ms-access vba


【解决方案1】:

这行得通:

Forms![Main Form].MainNavsfr.Form!CrafterDefaultNavsfr.Form!pic.value = varChangePicture

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多