需要通过dlookup函数启用和禁用表单上的按钮

问题描述 投票:0回答:1

我有一个查询,其中显示了一个用户列表及其访问级别,其中的编辑字段带有复选框。如果在“编辑”字段中打勾,那么我希望用户能够单击“编辑”按钮并更改表单上的数据。查询显示用户名,表单名称和编辑字段。我想出了类似的方法,但是没有用:

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
ms-access access-vba
1个回答
0
投票

这两个都应该起作用。您的问题是您没有正确使用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
© www.soinside.com 2019 - 2024. All rights reserved.