访问VBA:将表单/子表单名称传递给函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问VBA:将表单/子表单名称传递给函数?相关的知识,希望对你有一定的参考价值。
我试图将表单/子表单名称传递给函数但没有成功。该功能通过每个.Control对子窗体进行操作,并执行一组简单的查找和操作。我的代码按预期工作,表单/子表单名称是硬编码的;我正在寻找一种更通用的方法。
在带有和不带引号的函数调用中获取类型不匹配错误。
例:
'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]"
的函数
此外,当您没有收到返回值时,不应该使用括号(所以从不在调用sub时)。
此外,Call
关键字很久以前就已被弃用。
您可能希望传递表单对象,而不是子表单控件对象
尝试像这样调用你的子:
AuditChanges forms![someForm]![someSubForm].Form
(以前在一行代码上从未有过这么多评论)
以上是关于访问VBA:将表单/子表单名称传递给函数?的主要内容,如果未能解决你的问题,请参考以下文章