Rol*_*ble 3 ms-access vba ms-access-2007 access-vba
我使用的技术类似于Remou对这个问题的回答,以操纵子窗体上控件的性能.伟大工程只要父窗体的记录至少有一个记录.如果父表单没有记录,我得到:
错误2455,"您输入的表达式对属性表单/报表具有无效引用."
尝试递归调用时抛出错误.下面是代码的简化版本(我已经删除了错误处理和更多案例,包括其他案例).此代码位于Module中,并从我的应用程序中的大多数表单的Load事件中调用:
Public Sub LockUnlockForm(frmLoad As Form)
Dim ctl As Control
For Each ctl In frmLoad.Controls
With ctl
Select Case .ControlType
Case acTextBox, acComboBox, acCheckBox
.Locked = Not gblnAuthorized
Case acSubform
LockUnlockForm .Form '<--- this line errors
End Select
End With
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
我想在现在给我问题的表单上做的是在父级创建一个新记录,并允许用户将数据添加到子表单(如果gblnAuthorized
为True,或者设置一个简单的消息,如果它是False).在打电话之前我别无选择LockUnlockForm
吗?创建新的父表单级记录是否可以防止此错误?
Sma*_*oli 10
确定表单记录集的记录计数,并且仅在记录计数> 0时运行For Each循环.
我正在回答这个问题,因此具有相同问题的其他用户可以轻松确定所提供的答案.它已经过去了一个月陈旧.如果可以的话,将信用证转给HansUp!