访问VBA:将窗体/子窗体名称传递给函数?
我正试图将一个窗体/子窗体名称传递给一个函数,但没有成功。该功能通过子窗体上的每个.Control控制,并执行一组简单的查询操作。我的代码正常工作与表单/子表单名称硬编码;我正在寻找更通用的方法。访问VBA:将窗体/子窗体名称传递给函数?
在函数调用中获取类型不匹配错误,使用和不使用引号。
实施例:
'Function Call call AuditChanges("forms![someForm]![someSubForm]")
'Audit Function
Sub AuditChanges(thisForm as form)
Dim ctl As Control
Dim strTest as string
For each ctl in thisForm.controls
strTest = ctl.Value
'do some stuff
Next ctl
end sub
正确的语法任何建议传递形式/子窗体的信息?
谢谢!
回答:
你的子调用各种奇怪的:
您的错误的可能原因是引号。您当前将字符串传递给包含"forms![someForm]![someSubForm]"
的字符串此外,当您没有收到返回值时(因此从不在调用子时),不应使用括号。
此外,很久以前Call
关键字已被弃用。
而且你可能想通过表单对象,而不是窗体控件对象
试着打电话给你分这样的:
之前AuditChanges forms![someForm]![someSubForm].Form
(从未有过的一行代码这么多评论)
以上是 访问VBA:将窗体/子窗体名称传递给函数? 的全部内容, 来源链接: utcz.com/qa/266063.html