Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Usernamen mit dem man in Windows angemeldet ist in Access übernehmen

Mitglied: msteib
Hallo,

wir sind hier dabei eine Access Datenbank zu bauen in der Serverausfälle gelistet werden sollen. Nun sollte in einem Feld in einer Tabelle automatisch die UserID eintragetragen werden, mit der man in Windows angemeldet ist (also der Username von Windows).

Am besten sollte er in ein Textfeld in einem Formular übernommen werden.

Habt ihr ne Ahnung wie man das macht?

Danke und viele Grüße,

Michael Steib

Content-Key: 33929

Url: https://administrator.de/contentid/33929

Ausgedruckt am: 02.12.2021 um 09:12 Uhr

Mitglied: 25110
25110 09.06.2006 um 13:26:27 Uhr
Goto Top
Folgende Funktion liefert den Windows-Benutzernamen:

Function fOSUserName() As String
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 = ""
End If
End Function

Wenn z.B. der Benutzername bei jeder Datensatzänderung in der Tabelle eingetragen werden soll, geht das so:

1) Ein Modul mit der obigen Funktion erstelle.

2) In der Tabelle ein Textfeld einfügen, z.B. BenutzerAenderung

3) Im Formular ein Textfeld erstellen, z.B. BenutzerAenderung

4) Im Formular beim Ereignis ?Nach Aktualisierung:

Private Sub Form_AfterUpdate()
With Me.RecordsetClone
.Bookmark = Me.Bookmark
.Edit
!BenutzerAenderung = fOSUserName
.Update
End With
End Sub

mfg
Mitglied: msteib
msteib 09.06.2006 um 14:19:39 Uhr
Goto Top
Hallo,

ich habe das jezt folgendermaßen eingebaut:

wenn jemand auf den Button "datensatz speichern klickt" soll folgendes ausgeführt werden:

Private Sub Befehl15_Click()
With Me.RecordsetClone
.Bookmark = Me.Bookmark
.Edit
!Benutzername = fOSUserName
.Update
End With

On Error GoTo Err_Befehl15_Click


DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_Befehl15_Click:
Exit Sub

Err_Befehl15_Click:
MsgBox Err.Description
Resume Exit_Befehl15_Click

End Sub

Mein Modul habe ich "Windows Benutzername" genannt.

Nun kommt, wenn ich auf Datensatz speichern klicke folgende Meldung:

Titel: Microsoft Visual Basic
Fehler: "Fehler beim Kompilieren: Sub oder Function nicht definiert"

Es wird der Quelltext der Funktion angezeigt und "Function fOSUserName() As String" gelb markiert und "apiGetUserName" grau markiert.

Hier nochmal der komplette Quelltext:

Function fOSUserName() As String
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 = ""
End If
End Function


Vielleicht hast du ja ne Lösung dafür.

danke und viele Grüße,

Michael Steib
Mitglied: 25110
25110 09.06.2006 um 16:21:52 Uhr
Goto Top
Sorry, im Modul vor der Funktion noch folgenden Code einfügen:

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long


Und vorsichtshalber noch die Verweise prüfen:

Modul im Entwurf öffnen, Extras > Verweise
Da sollten 4 Einträge sein:
Visual Basic for Applications
Microsoft Access x.0 Object Library
Microsoft DAO 3.6 Object Library
Microsoft ActiveX Data Objects 2.x Library

mfg
Mitglied: Biber
Biber 09.06.2006 um 16:29:56 Uhr
Goto Top
...ist kaum nötig, mit solchen Kanonen auf den kleinen Spatz zu schießen..

Ermittelt einfach den Usernamen aus dem Environment.

strUsername = Environ("USERNAME")

Die Funktion Environ()/Environ$() ist in der "normalen" VBA-Bibliothek, die ohnehin mit eingebunden (bzw. auf jeden Fall vorhanden) ist.

Gruß
Biber
Heiß diskutierte Beiträge
info
Windows Defender Fehlalarm Emotet.SBDerWoWussteVor 1 TagInformationViren und Trojaner

Moin. Es sieht so aus, als wäre gestern Abend ein False Positive über den Defender erkannt worden. Seit AV Version 1.353.1888.0 ist wieder Ruhe. Beispielmeldung: ...

imho
Wir müssen über Corona und das Impfen redenFrankVor 3 StundenIMHOOff Topic33 Kommentare

Ich denke, dass geht uns alle an und daher will ich meinen Beitrag dazu leisten, um über Corona und das Impfen aufzuklären. Ich habe bereits ...

general
David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast - Immer noch aktuell aber andersStefanKittelVor 1 TagAllgemeinSicherheitsgrundlagen5 Kommentare

Hallo, dies ist keine Frage. Nur ein einfacher Beitrag. Ich habe vor ein paar Jahren dieses Video von einem Vortrag von David Kriesel gesehen. Darin ...

question
Vollbackup von NAS auf wechselnde FestplatteninstallerVor 1 TagFrageBackup11 Kommentare

Hallo, ich suche nach einem Weg um ein Vollbackup einer NAS (QNAP oder Synology) auf wechselnde Festplatten zu machen. Es geht darum das die externe ...

question
Keine Verbindung vom Switch zum SIP-PhonebubblegunVor 1 TagFrageNetzwerke17 Kommentare

Es ist mir wirklich ein Rätsel und ich weiß nicht wo ich anfangen soll! Das Problem: An meinem POE-Switch hängen einige Geräte die einwandfrei funktionieren. ...

info
Neue Open-Source-Firewall: DynFiC.R.S.Vor 1 TagInformationFirewall5 Kommentare

DynFi kannte ich seit einiger Zeit als zentrale Verwaltungssoftware für pfSense und OPNsense. Das französische Unternehmen hat aber auch kürzlich seinen OPNsense-Fork "DynFi Firewall" veröffentlicht: ...

question
Site2Site langsam SMBitisnapantoVor 1 TagFrageWindows Netzwerk16 Kommentare

Guten Morgen zusammen, Ich komme gerade irgendwie nicht weiter, oder sehe den Wald vor lauter Bäumen nicht. Aber vielleicht hat einer von euch einen Wink ...

general
Neues Mitglied Vorstellung - Wir sind die Web+PhoneWebplusPhoneVor 1 TagAllgemeinZusammenarbeit2 Kommentare

Hallo liebe Community wir sind neu auf dieser Plattform und möchten mit euch Probleme lösen und diskutieren. Doch bevor wir mit unseren Beiträgen starten, gibt ...