数据库搜索用户名

时间:2013-11-25 14:31:19

标签: ms-access ms-access-2007 access-vba

我正在开发一个呼叫日志系统,为了跟踪目的,管理员希望每个用户在进入时登录。

我有一个模块,用以下代码显示当前登录用户。我希望系统在表“TBL_Users”中搜索用户名,并在文本框中显示与该用户名相关的所有信息。如果该用户不在数据库中,我需要显示错误并且不允许用户进入系统。我知道我可能需要使用Dlookup,但我不确定如何编码。

    Option Compare Database

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
    "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function fOSUserName() As String
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
    strUserName = String$(254, 0)
    lngLen = 255
    lngX = apiGetUserName(strUserName, lngLen)
    If (lngX > 0) Then
        fOSUserName = Left$(strUserName, lngLen - 1)
    Else
        fOSUserName = vbNullString
    End If
End Function

在使用Dlookup一段时间之后,我需要在表单加载时填充文本框。这是我使用的Dlookup。

Private Sub Form_Load()

Windows_Logontxt = fOSUserName()

'agentname = DLookup("Agent_Name", "TBL_Users", "Windows_Logon=" & Windows_Logontxt)

End Sub

1 个答案:

答案 0 :(得分:1)

似乎 Windows_Logon Windows_Logontxt 是文本值,因此当您为{{的第三个参数创建字符串时,请将 Windows_Logontxt 括在引号中1}}。

DLookup