1
我正在爲我的Access程序登錄模塊。但我對此不甚瞭解。Access中的登錄模塊
這些用途使用Windows登錄登錄他們的計算機,並在數據庫中有一張描述每個登錄名和角色(工作人員,經理等)的表格。
我想要做的是當我的程序啓動時,它可以自動檢測Windows登錄,並根據表格決定隱藏一些表單或報告。
有什麼建議嗎?謝謝..
我正在爲我的Access程序登錄模塊。但我對此不甚瞭解。Access中的登錄模塊
這些用途使用Windows登錄登錄他們的計算機,並在數據庫中有一張描述每個登錄名和角色(工作人員,經理等)的表格。
我想要做的是當我的程序啓動時,它可以自動檢測Windows登錄,並根據表格決定隱藏一些表單或報告。
有什麼建議嗎?謝謝..
試試這個。輸入此之外的程序:
Private Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
,並輸入該程序:
Function GetUser() As String
Dim cn As String, Userstr As String
cn = String(1024, 0)
If GetUserName(cn, 1024) <> 0 Then GetUser = Replace(cn, Chr(0), "")
End Function
隨後的getUser()應該給你的Windows登錄名。我在XP機器上運行的幾個Access 2003 Frontier中使用它,並且沒有任何問題。
(附註:事實上,我從堆棧溢出這個代碼在很久以前,但我不知道是誰給了我,所以我不能給予適當的信貸)
由於它的工作原理。但在WIN7上,它有效嗎?我手邊沒有帶WIN7的電腦,因此不能測試 – darkjh 2011-05-24 10:43:11
@darkjh,可能不會。如果您使用的是Windows 7計算機,則可能使用的是Office 2007或更高版本,該版本使用VB.NET,而不是VBA。我認爲將這段代碼片段轉換爲VB.NET並不是很困難,但這是別人回答的問題,而不是我。 – PowerUser 2011-05-24 14:11:30
它可能來自訪問網站http://mvps.org/access/,它是Usenet組comp.databases.ms-access的FAQ站點。 – 2011-05-29 00:48:41