Abfrage des angemeldeten Benutzers unter NT 4.0

Hallo allerseits,

ich arbeite mit Access 97 SR-1 (englische Version) unter Windows NT 4.0.

Da mehrere Leute auf meine Datenbank Zugriff haben sollen, ich aber der einzige sein will, der Datensätze ändern kann, würde ich gerne den aktuell unter NT angemeldeten Benutzer abfragen, um die Zugriffsmöglichkeiten festzulegen. Ich möchte in jedem Fall eine zusätzliche Passwortabfrage über MS Access vermeiden.

Über welche Variable kann ich den aktuell angemeldeten Benutzer abfragen ?

Vielen Dank im voraus !!
Gruss
Sven

Hallo allerseits,

Hallo Heribert :smile:

ich arbeite mit Access 97 SR-1 (englische Version) unter
Windows NT 4.0.
Über welche Variable kann ich den aktuell angemeldeten
Benutzer abfragen ?

Access wird Dir nicht weiterhelfen können, alldieweil es in der normalen Umgebung keinen Benutzer kennt. Jeder heißt Admin …
ich würde es bei den NT-Spezialisten im Windowsbrett (wäre übrigens ein schöner Halbanglizismus für Fensterbank) versuchen, ob die Netzwerkadresse zu einer in Benutzung stehenden DB, evtl. über das Windows-API, herauszufinden ist.

Viel Erfolg wünscht
kw

Schau mal hier: http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.24 (FAQ 2.24)

Allerdings kannst du eine halbwegs sichere Rechtevergabe innerhalb von Access nur mittels des Access-Sicherheitssystems auf Benutzerebene realisieren - insofern hilft dir nicht allzuviel um eine weitere Passwortabfrage herum.

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Sven versuche es mal mit folgendem Code in einem Globalen Modul.(Es kann noch ein wenig Schrott von mir drin sein)
Der Code ist nicht auf meinem Mist gewachsen.Leider war kein Autor angegeben als ich den Code bekam.
Abfragen zB mit MSGBOX GetNutzer():
Public dbs As DAO.Database, doc As Document
Public PrArt As Variant

Option Compare Database
Option Explicit

Global MyLoginName
Global MyUserName
Global MyGroupName
Global MyServerName
Global MyHostName
Global MyDbName
Global MyVM

Global ws As Workspace
Global dbloc As DAO.Database 'local database
Global dbrem As DAO.Database 'remote database

Declare Function GetUserName Lib „advapi32.dll“ Alias „GetUserNameA“ (ByVal lpBuffer As String, nSize As Long) As Long
Declare Function GetComputerName Lib „kernel32“ Alias „GetComputerNameA“ (ByVal lpBuffer As String, nSize As Long) As Long

Function GetNutzer() As String
If MyUserName = „“ Then
Dim size As Long, un1 As String, cn1 As String
Dim reply As Long
un1 = Space(10)
cn1 = Space(144)
size = 10
reply = GetUserName(un1, size)
MyUserName = Trim(Left(un1, size - 1))
size = 144
reply = GetComputerName(cn1, size)
MyHostName = Trim(Left(cn1, size))
End If

GetNutzer = MyUserName
If GetNutzer = Null Or GetNutzer = „“ Then
GetNutzer = „Annonym“
End If

End Function
Function GetHost() As String
If MyUserName = „“ Then
Dim size As Long, un1 As String, cn1 As String
Dim reply As Long
un1 = Space(10)
cn1 = Space(144)
size = 10
reply = GetUserName(un1, size)
MyUserName = Trim(Left(un1, size - 1))
size = 144
reply = GetComputerName(cn1, size)
MyHostName = Trim(Left(cn1, size))
End If
GetHost = MyHostName
End Function