找不到引用的表单

时间:2013-09-19 19:45:00

标签: vba ms-access access-vba ms-access-2010

当我点击下面的Create New Form按钮时,我得到以下运行时错误2450对话框:

当我点击调试按钮时,它会给我以下内容:

主窗体名为FindClientsNavigation。 ListOfForms子窗体中的“创建新窗体”按钮应该使NavigationSubForm用新的CommunicationForm替换ListOfForms窗体,以便用户可以从具有特定客户端ID的客户端的新窗体输入信息。 txtClientID文本框,您可以在上面第一张图片中的FindClientsNavigation表单顶部看到。

如何更改上面的代码,以便在NavigationSubForm中加载新的CommunicationForm?如何让新的CommunicationForm将ClientID存储在其中,以便提交表单将允许参考特定的ClientID保存表单?

1 个答案:

答案 0 :(得分:2)

需要将SourceObject设置为字符串,该字符串是要使用的表单的名称:

.SourceObject = "CommunicationForm"

[注意 Forms打开表单的集合,因此您不能使用它来引用导航窗格中的表单 - 除非您知道这个表格是公开的。]

您可以在此子表单中使用客户端ID(在主表单上),但有多种方法可以执行此操作,具体取决于您的具体要求:

  • 子表单可以基于引用主表单上的文本框(可能是txtClientID)的查询。这是一种更简单的方法。
  • 您可以使用引用客户端ID的WHERE子句动态设置子表单的RecordSource(类似于上述方法)。
  • 您可以将Filter应用于子表单,以便它只显示客户端ID的单个记录。