Office中国论坛/Access中国论坛

标题: 请教:DLookup 函数 [打印本页]

作者: 难得糊涂    时间: 2004-12-8 23:34
标题: 请教:DLookup 函数
库中有“权限表”字段为:[用户名]、[权限],[权限]的记录为库的窗体名,我模块中用DLookup 函数可不能执行问题在那里?请高手指点

Public user As String

Function 权限检测(窗体名 As String) As Boolean

If 窗体名 <> DLookup("[权限]", "权限", "[用户名]='" & user & "'") Then

    权限检测 = True

MsgBox user & ":" + vbCr + vbCr + "对不起,你没有权限使用此功能!", vbOKOnly + vbExclamation, "系统管理"

   

    DoCmd.Close acForm, 窗体名

Else

    权限检测 = False

         

End If


End Function

然后在窗体打开时加入call 权限检测(Me.Name)。请高手指点[em06][em06]
作者: 情比金坚    时间: 2004-12-9 00:40
也许是找不到user??
作者: hgt    时间: 2004-12-9 01:39
如果上面的代码在 ADP 就应该没有问题,MDB 中应该这样 DLookup("[权限]", "权限", "用户名= user")
作者: 难得糊涂    时间: 2004-12-9 04:40
我现在将库传上来请大侠们修改
作者: 难得糊涂    时间: 2004-12-9 04:41
我现在将库传上来请大侠们修改,先谢了

[此贴子已经被作者于2004-12-11 13:13:18编辑过]


作者: 难得糊涂    时间: 2004-12-10 16:11
我这样改也不行:Public user As StringFunction 权限检测(窗体名 As String) As Boolean

If  IsNull ( DLookup("[权限]", "权限","[权限]='" & 窗体名&"'" and "[用户名]='" & user & "'") Then

    权限检测 = False

MsgBox user & ":" + vbCr + vbCr + "对不起,你没有权限使用此功能!", vbOKOnly + vbExclamation, "系统管理"

   

    DoCmd.Close acForm, 窗体名

Else

    权限检测 =    True

      

End If

作者: swx    时间: 2004-12-10 21:20
If  IsNull ( DLookup("[权限]", "权限","[权限]='" & 窗体名&"'" and "[用户名]='" & user & "'") Then

应为:If IsNull(DLookup("[权限]", "权限", "[权限] = '" & 窗体名 & "' And [用户名] = '" & user & "'")) Then






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3