访问vba - 通过DoCmd.BrowseTo导航到子窗体

时间:2016-08-23 04:56:01

标签: vba ms-access

我已经看过十几个不同的描述如何做到这一点,但我无法正确理解语法。 我有一个名为“主列表”的主要表格。 它有一个名为“NavigationSubform”的导航子表单。 其中一个导航选项卡打开一个名为“合同列表”的表单。

我正在尝试使用DoCmd.BrowseTo打开子表单上的合同列表。

我的代码如下:

DoCmd.BrowseTo acBrowseToForm, "[Contract List]", "[Master Lists].NavigationSubform"

但我收到错误“宏操作BrowseTo需要一个有效的Path参数。一个有效的Path参数的格式为:MainForm1.Subform1> Form1.Subform1”

我有正确的主表单和子表单,并且合同列表没有任何其他子表单,所以我认为我不需要“>”之后的部分。 (对吗?)任何人都有任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这很奇怪,但显然你需要放下方括号。通常你需要它们,但在这种情况下它会引起路径问题。

  

我终于用DoCmd.BrowseTo命令中的正确参数回答了我自己的问题,如下所示:

DoCmd.BrowseTo ObjectType:=acBrowseToForm, _
ObjectName:="frmBatesFiles", _
PathToSubformControl:="Navigation Form.NavigationSubform", _
DataMode:=acFormEdit
  

我遇到的困难是使用PathToSubformControl参数。我在包含空格的表单名称周围放了方括号。当我删除括号时它工作正常。我仍然对其他方式持开放态度。

注意路径是"导航Form.NavigationSubform。"尝试删除括号,看看它是否仍然会抛出错误。引用和代码here