访问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

回到顶部