我有一个查询,其中显示了一个用户列表及其访问级别,其中的编辑字段带有复选框。如果在“编辑”字段中打勾,那么我希望用户能够单击“编辑”按钮并更改表单上的数据。查询显示用户名,表单名称和编辑字段。我想出了类似的方法,但是没有用:
If (Dlookup("Edit", "QryUserAction", "UserName ="& Me!TempVars("UserName").[Value]
And "FormName = "& Forms!Form.Name)) = False Then
Forms!FrmPatientInfo!btnEdit.Enabled = False
Else
Forms!FrmPatientInfo!btnEdit.Enabled = True
这两个都应该起作用。您的问题是您没有正确使用Dlookup的AND部分。 AND子句必须用引号引起来,因为它是语法的一部分。我还假定您省略了字符串值所需的单引号。
附带说明-具有存储用户名的控件是不正确的做法-可以使用环境功能获取用户名。除非用户的日志记录与数据库中存储的内容不同,否则就足够了
If (Dlookup("Edit", "QryUserAction", "UserName ='" & Me!TempVars("UserName").[Value] & "' And FormName = '" & Me.Name & "'")) = False Then
Forms!FrmPatientInfo!btnEdit.Enabled = False
Else
Forms!FrmPatientInfo!btnEdit.Enabled = True
End if
If (Dlookup("Edit", "QryUserAction", "UserName ='" & ENVIRON("USERNAME") & "' And FormName = '" & Me.Name & "'")) = False Then
Forms!FrmPatientInfo!btnEdit.Enabled = False
Else
Forms!FrmPatientInfo!btnEdit.Enabled = True
End if