0

Windowsのログイン情報をAccessの文字列に渡す方法はありますか?中央の場所に保持されているマルチユーザーデータベースでユーザーを自動的に検出する方法が必要です。前もって感謝します。

4

3 に答える 3

2

これは、Windows XP および Windows 7 マシンのドメイン ネットワークで使用するものです。ドメイン以外のネットワークでどのように機能するか、またはネットワークにまったく接続していない場合はどうなるかわかりません.

Public Function GetComputerUserName()
    Dim objnet As Object
    Set objnet = CreateObject("WScript.Network")
    GetComputerUserName = objnet.UserName
    Set objnet = Nothing
End Function
于 2012-10-15T13:13:03.147 に答える
1

最も信頼できる方法は、Windows API 呼び出しを使用することです。

'This line must go at top of module
Private Declare Function WNetGetUser& Lib "Mpr" Alias _
                "WNetGetUserA" (lpName As Any, ByVal lpUserName$, lpnLength&)


Function GetUserName() As String
Const MaxNameLength As Long = 256
Dim ret As Long, UserName As String

    UserName = Space(256)
    ret = WNetGetUser(ByVal 0&, UserName, MaxNameLength)
    If ret = 0 Then
        'Success - strip off the null.
        UserName = Left(UserName, InStr(UserName, Chr(0)) - 1)
    Else
        UserName = ""
    End If

    GetUserName = LCase$(UserName)
End Function
于 2012-10-15T13:10:18.037 に答える
0

あなたはできる;

user = Environ$("USERNAME")
于 2012-10-15T16:06:14.237 に答える