2009-03-24 28 views

Trả lời

20
Public Declare Function GetUserName Lib "advapi32.dll" 
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long 

....

Dim strLen As Long 
Dim strtmp As String * 256 
Dim strUserName As String 

strLen = 255 
GetUserName strtmp, strLen 
strUserName = Trim$(TrimNull(strtmp)) 

Hóa ra câu hỏi đã được hỏi trước: How can I get the currently logged-in windows user in Access VBA?

+0

Tôi không thấy câu hỏi đã được hỏi trước đây. Cảm ơn, anyways –

+0

Lưu ý rằng 'Declare' không khả dụng trong Truy cập 64 bit. –

32

Hãy thử điều này:

Function UserNameWindows() As String 
    UserName = Environ("USERNAME") 
End Function 
+2

Hãy nhớ rằng điều này có thể được thay đổi bởi người dùng/ứng dụng ... –

+9

Nó có thể không an toàn 100% mỗi lần, nhưng hãy thành thật, chúng ta đang nói về VBA. Tôi cho một, chọn cách dễ dàng :) – Eric

+1

@Eric +1 Ở đây. Nếu bạn lo lắng, bạn không nên sử dụng Access ngay từ đầu. – Hill

-1

Trong một Form, Tạo một hộp văn bản, với các tính hộp văn bản chọn dữ liệu tab

Default value =CurrentUser() 

Hiện tại sou rce "chọn tên trường bảng"

Nó sẽ hiển thị tên người dùng hiện tại trên tên trong hộp văn bản/nhãn cũng như lưu tên người dùng trong trường bảng

+5

Điều này không hiển thị tên người dùng hiện tại; nó trả về "tên của người dùng hiện tại của cơ sở dữ liệu". Điều này mặc định là "Quản trị" trừ khi bạn đã thiết lập nhóm làm việc được bảo mật. – Paul

Các vấn đề liên quan