【发布时间】:2018-03-13 00:19:18
【问题描述】:
我正在尝试创建一个函数,允许我使用各种命令按钮,而不必每次都重新创建代码。
为此,我必须通过函数传递表单名称
功能:
public Function NewRecord(controlForm, focusForm)
focusForm.SetFocus
DoCmd.GoToRecord , , acNewRecord
controlForm.SetFocus
controlForm - 这是类似于 Me 函数的主要表单
focusForm - 这不仅适用于主表单,而且当我创建子表单时,我必须将焦点放在子表单上才能使命令正常工作。
要调用该函数,我执行了以下操作:
public sub Command19_Click()
Dim controlForm
Dim focusForm
Set controlForm = Forms![frm_Sales_CustomerProfile]
Set focusForm = Forms![frm_Sales_CustomerProfile]
Call NewRecord(controlForm, focusForm)
End Sub
我得到这个错误状态:编译错误:无效使用属性。
【问题讨论】:
-
您的错误是因为您调用了表单的属性
NewRecord!如果您不使用强名称,就会发生这种情况。试试MyModulname.NewRecord(controlForm, focusForm)。您的第二种形式参数已过时。如果它是子表单,只需传递子表单引用。您可以使用frm.Parent访问主窗体。
标签: ms-access vba ms-access-2010 ms-access-2016