我正在开发一个呼叫日志系统,为了跟踪目的,管理员希望每个用户在进入时登录。
我有一个模块,用以下代码显示当前登录用户。我希望系统在表“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
答案 0 :(得分:1)
似乎 Windows_Logon 和 Windows_Logontxt 是文本值,因此当您为{{的第三个参数创建字符串时,请将 Windows_Logontxt 括在引号中1}}。
DLookup