访问 VBA 运行-时间错误“2186”- 此 属性 在设计视图中不可用
Access VBA Run-time error '2186' - This property isn't available in Design View
我们目前使用 Access 作为处理少量数据记录 (<10,000) 的后端数据库。我正在创建一个登录宏来检查用户是否具有有效登录,并且基于该登录 he/she 将可以访问一组特定的表单。所以本质上它是一个基于权限的系统。
Sub cmdDev_Click()
If DLookup("[AccessLevelID]", "tblUser", "[UserID] = " & Forms!frmLogin!cboUser) = 1 Then
DoCmd.OpenForm "Finance_Form"
Else
MsgBox "Sorry, you do not have the correct permissions required.", vbOKOnly
End If
End Sub
每当我 运行 我的宏时,它会继续抛出以下错误消息 "This property is not available in Design view."
我调试了代码,它突出显示了 IF 语句。我仔细检查了所有用户字段和表单引用,它们都没有问题地签出。
谁能提出可能的潜在原因?
谢谢!
您可能需要指明 cboUser 的 属性:
Forms!frmLogin!cboUser!value
当您打开表单时,请确保它不会像这样在 acdesign
中打开:
docmd.openform "Finance_Form", acnormal
如果您的组合框实际上是字符串格式而不是数字格式,那么我会建议这样;
"[UserID] ='" & Forms!frmLogin.cboUser & "'"
此外,如果您的组合框有不止一列(这很可能),您可能必须说明要引用哪一列。列 0 通常是绑定列。考虑到这一点,请参阅下面的示例,其中我也使用 me
来引用组合框列。如果点击按钮与组合框在同一窗体上,您可以考虑这一点。
Me.cboUser.Column(0)
我们目前使用 Access 作为处理少量数据记录 (<10,000) 的后端数据库。我正在创建一个登录宏来检查用户是否具有有效登录,并且基于该登录 he/she 将可以访问一组特定的表单。所以本质上它是一个基于权限的系统。
Sub cmdDev_Click()
If DLookup("[AccessLevelID]", "tblUser", "[UserID] = " & Forms!frmLogin!cboUser) = 1 Then
DoCmd.OpenForm "Finance_Form"
Else
MsgBox "Sorry, you do not have the correct permissions required.", vbOKOnly
End If
End Sub
每当我 运行 我的宏时,它会继续抛出以下错误消息 "This property is not available in Design view."
我调试了代码,它突出显示了 IF 语句。我仔细检查了所有用户字段和表单引用,它们都没有问题地签出。 谁能提出可能的潜在原因?
谢谢!
您可能需要指明 cboUser 的 属性:
Forms!frmLogin!cboUser!value
当您打开表单时,请确保它不会像这样在 acdesign
中打开:
docmd.openform "Finance_Form", acnormal
如果您的组合框实际上是字符串格式而不是数字格式,那么我会建议这样;
"[UserID] ='" & Forms!frmLogin.cboUser & "'"
此外,如果您的组合框有不止一列(这很可能),您可能必须说明要引用哪一列。列 0 通常是绑定列。考虑到这一点,请参阅下面的示例,其中我也使用 me
来引用组合框列。如果点击按钮与组合框在同一窗体上,您可以考虑这一点。
Me.cboUser.Column(0)