我试图将表单/子表单名称传递给函数但没有成功。该功能逐步通过每个.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
有关正确语法传递表单/子表单信息的任何建议吗?
谢谢!
答案 0 :(得分:2)
你的子电话是各种奇怪的:
错误的可能原因是报价。您当前正在将字符串传递给包含"forms![someForm]![someSubForm]"
此外,如果您没有收到返回值,则不应使用括号(因此从不在调用子语句时使用括号)。
此外,Call
关键字很久以前就已被弃用。
您可能希望传递表单对象,而不是子表单控件对象
尝试像这样调用你的子:
AuditChanges forms![someForm]![someSubForm].Form
(以前在一行代码上从未有过这么多评论)