这两行代码应该产生相同的结果。
Debug.Print Forms!DocLoader!DL_RowBox!DLR_FileName.Name
Debug.Print Forms!DocLoader!DL_RowBox.Form!DLR_FileName.Name
第一行仅使用默认参数,无论上下文如何,似乎都可以工作。
第二个几乎在所有 VBA 参考文献中都推荐,包括我输入此内容时 SO 建议的答案,遵循以下结构:
Debug.Print Forms![Form Name]![Subform Control Name].Form![Control Name].Name
第二种推荐语法,除非在设计视图中,否则会抛出
错误 40036,“应用程序定义或对象定义的错误”
我无法在运行时使用它。
我尝试了 bang 和 period 的组合。我尝试将字段名称括在括号中。
共同点是,一旦我引用
.Form
,应用程序就会抛出错误。像 .Form.Caption
这样简单的东西会引发错误。
运行编译器似乎已经解决了问题。