Office: (Office 2010) Access 2010: Benutzernamen auslesen und verwenden

Helfe beim Thema Access 2010: Benutzernamen auslesen und verwenden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bin noch relativ neu bei Access 2010 und möchte eine Datenbank erstellen, die von mehreren Benutzern verwendet wird. Da nicht... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von SRichter, 6. Februar 2016.

  1. Access 2010: Benutzernamen auslesen und verwenden


    Hallo zusammen,

    ich bin noch relativ neu bei Access 2010 und möchte eine Datenbank erstellen, die von mehreren Benutzern verwendet wird.

    Da nicht jeder Benutzer die gleichen Berechtigungen hat, habe ich folgende Login-Form erstellt:

    Login.jpg

    Die einzelnen Berechtigungen sowie die Mitarbeiterkennungen habe ich in dieser Tabelle hinterlegt:

    tblBenutzer.jpg

    Ich möchte nun erreichen, dass Access erkennt, welcher User sich in der Login-Form angemeldet hat und bei Bedarf die Userkennung automatisch übernimmt.
    Als Beispiel hier ein Formular:

    Fall aufnehmen.jpg

    In diesem Formular soll nun automatisch die UserID mit meinem Kürzel "SRI" befüllt werden, am besten sogar so, dass eine Änderung nicht möglich ist.

    Darüberhinaus soll das Kürzel dann in die Fall-ID eingefügt werden.

    Am schönsten wäre es sogar, wenn ich in dem Formular kein Feld für die UserID aufnehmen müsste, sondern direkt eine Verknüpfung zur Fall-ID herstellen kann.

    Ich möchte hierdurch erstens erreichen, dass die Kollegen nicht bei jeder einzelnen Bearbeitung ihr Kürzel manuell einfügen müssen und zweitens, dass jede Bearbeitung/ Änderung unwiderruflich einem Benutzer zugeordnet werden kann.

    Ich weiß nicht, ob Access solch eine Möglichkeit bietet, daher würde ich mich freuen, wenn ich hierbei Hilfe bekommen könnte.

    Vielen Dank im Voraus.

    :)
     
    SRichter, 6. Februar 2016
    #1
  2. Hallo,

    deine Frage ist nicht wirklich neu und lässt sich auf unterschiedliche Art lösen. Du könntest dir bspw. beim Login das Kürzel in einer globalen Variablen merken und dies in den Formular-Ereignissen "Vor Aktualisierung" oder "Nach Aktualisierung" dem jeweiligen Datenfeld zuweisen. Auch als Standardwert des jeweiligen Formular-Steuerelements wäre das einsetzbar.

    Es wäre eine Überlegung wert, ob es an der Stelle überhaupt angezeigt werden sollte. Aber natürlich kannst du das Überschreiben auch über die Steuerelement-Eigenschaften (gesperrt/locked) verhindern.
     
    MaggieMay, 8. Februar 2016
    #2
  3. Hallo,

    erstmal danke für die schnelle Antwort.

    Leider stehe ich mit meinen (äußerst) begrenzten VBA-Kenntnissen aber auf dem Schlauch.

    Wo muss ich denn diese globale Variable definieren?

    Ich habe dem Buttom "ok" eine Ereignisprozedur hinzugefügt, in der überprüft wird, ob der eingegebene Benutzer und das Passwort laut Tabelle "tblBenutzer" korrekt ist.
    Muss ich in dieser Prozedur dann auch die Variable für die Userkennung definieren?

    Wenn ja, wie mache ich das? *rot anlauf wegen der wohl dummen Fragen*
     
    SRichter, 8. Februar 2016
    #3
  4. Access 2010: Benutzernamen auslesen und verwenden

    Environ("USERNAME") gibt den aktuellen Windows (!) Benutzer aus. Der liesse sich mit Rechten koppeln, und eine automatische Anmeldung herstellen, wenn das gewollt und vom Einsatzszenario her sinnig ist (Access Anwender = Windows Anwender).

    Siehe oben, man kann die Windows Anmeldung an gewünschter Stelle auslesen und an Bearbeitungsvorgänge anhängen, du kannst natürlich auch zu jedem Windows-Benutzer ein praktikableres Kürzel in einer eigenen Tabelle vorhalten und dann dieses Kürzel ermitteln und speichern / anzeigen.

    "Unwiderruflich" ist auf Tabellen-Ebene wenig bis gar nichts, insofern musst du deine Dokumentations-Anforderungen durch Formular-/ Maskendesign und ggf. Einschränkungen der Zugriffe auf Tabellen durch die Benutzer sicherstellen.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Andre.Heisig, 8. Februar 2016
    #4
  5. Ohrkester, 9. Februar 2016
    #5
  6. Hallo,

    von einem Access-Start ohne Passwort und nur mit Environ("USERNAME") bin ich persönlich nicht so begeistert.

    1. was ist, wenn es einen 2. User am gleichen PC gibt.
    Environ("USERNAME") ist eigentlich nur der PC-Name und nicht der User.
    Dazu müsste man schon einen anderen Code verwenden, der explicit den User ausliest, den es aber auch gibt.

    2. was spricht dagegen, einen Nicknamen und ein Passwort für eine Access-Datei zu vergeben?
    Zu müßig es zu programmieren, oder zu faul es immer einzugeben?

    3. Gesetz den Fall nur Environ("USERNAME")... User verlässt den PC, Access ist geschlossen.
    Ein anderer User öffnet das Access-Programm (ohne Passwort, denn der User ist ja schon eingeloggt) und ändert nur zum Spaß Daten.
    Das "Warum" ich habe keine Ahnung *wink.gif*
    Wenn er natürlich das Access-Programm offen hat und es verlässt...
    dann hilft ihm niemand mehr vor einem illegalen Zugriff, auch kein extra Passwort.

    4. es wird wohl, bei speziellen Kenntnissen, vieles möglich sein illegal in ein Programm zu kommen.
    Aber, wenn man es schwieriger machen kann, zumindest für normale User, warum nicht.
    Die sind ja sowieso am gefährlichsten!

    5. und es wird auch kaum möglich sein, ein Programm so zu schützen, dass es 100% unverwundbar ist
    (auch eine mde/accde nicht)
    Wer so eine Idee hat, die auch 100% funktioniert, könnte vermutlich Millionen verdienen *tongue.gif*

    Ist nur meine persönliche Meinung, die aber nicht richtig sein muss!

    Ein Login-Programm (für mich eine Vorlage, dass ich nicht immer alles neu erstellen muss),
    dass ich aber erst zusammenstelle, könnte ich anschließend, wenn's jemanden interessiert einstellen.

    Login/Nickname/Passwort/Shift-Taste/Changes Passwort/Kontextmenue aus-ein/Autorisierung/
    ChangesDaten/Objektfenster aus-ein/Menueleiste (Ribbons) aus-ein/LoggDatei/AllowQuit...


    Also, nur eine einfache Version - nichts besonderes, die üblichen Codes und eben nur eine Zusammenfassung.
    Da ich es für mich als Vorlage sowieso erstelle, wäre es keine unnötige Überstunde für mich.
    Werde es aber nicht einstellen, wenn eh niemanden interessiert! Leider Speicherplatz *depressed
     
    Kyron9000, 9. Februar 2016
    #6
  7. was bedeutet bei dir "eigentlich".

    den PC Namen erfährt man mit Environ$("computername").

    LG Markus
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 9. Februar 2016
    #7
  8. Access 2010: Benutzernamen auslesen und verwenden

    ... "eigentlich" habe ich es in der Fa. getestet, da sind auf einem PC 2 User mit verschiedenen Logindaten.
    Mit Environ("USERNAME") kommt der PC-Name und nicht der Username den ich mir vorstelle!
    Environ$("computername") habe ich auch schon getestet, da ändert sich nichts.
    Kommt immer der gleiche Name und das ist der PC-Name.
    Leider funktioniert es , zumindest bei mir, nicht. Wäre eine einfache Form den UserNamen herauszufinden.
    Aber, von Dev Ashish gibt es einen Code da kannst den vollen UserNamen herausfinden, der ist in diesem Fall
    (2 User an einem PC) interessant!

    Habe es jetzt zu Hause getestet, da ergibt USERNAME und computername unterschiedliche Ergebnisse ,
    in der Fa. nicht... aber auch nicht den Usernamen den ich mir vorstelle.
    Diesen Namen bekomme ich nur mit dem Code von Dev Ashish!
     
    Kyron9000, 9. Februar 2016
    #8
  9. \@Kyron9000,
    also dass der Username nicht der Computername ist, sollte einem der Verstand schon sagen.

    Und wenn in deinen Umgebungsvariablen bei beiden Daten das gleiche hinterlegt ist, solltest du überprüfen warum es so ist bevor du solche Schlußfolgerungen ziehst und die noch weiterverbreitest.

    LGM
     
    markusxy, 9. Februar 2016
    #9
  10. ...tief durchatmen, nicht gleich in Euphorie verfallen, ich werde es morgen noch mal testen *wink.gif*
    Bin sicher, dass ich in der Fa. die gleichen Namen für beide Variationen bekomme und nicht den Namen mit dem ich mich einlogge.
    Habe es ja sehr oft getestet, allerdings nur in der Fa. sonst habe ich keinen PC mit 2 Logindaten.
    Zuhause bekomme ich 3 verschiedene Namen mit oben beschriebenen Vorgängen.
    Jedenfalls mit Environ("USERNAME") bekomme ich nicht den von mir gewollten Username, das steht mit Sicherheit fest!
    Was ich da für einen Namen bekomme bin ich im Moment auch überfragt!
    So, schönen Abend noch!
     
    Kyron9000, 9. Februar 2016
    #10
  11. Moin,

    also "username" liefert definitiv den Windows-Benutzernamen. Arbeitet ihr vllt auf einem Remote, so in der Art Cytrix? Da kann es evtl Abweichungen geben, damit hab ich noch nicht gearbeitet.

    In einer "normalen" Windows-Umgebung liefert die erwähnte Umgebungsvariable verlässliche Werte, insbesondere in einer Domäne mit Anbindung an ActiveDirectory.
     
    el_gomero, 9. Februar 2016
    #11
  12. Die Ausgangsfrage war "automatische Übernahme der Benutzerkennung", dafür liefert Environ("username") eine brauchbare Antwort.

    Dass man diese Info nicht noch innerhalb der Accesslösung mit einem Kennwort koppeln kann, steht nirgendwo, wurde allerdings m.E. auch nicht gefragt.

    Wenn höhere Sicherheitsabforderungen bestehen, ist Access zumindest als Backend ohnehin die falsche Wahl, im Eingangspost wurde ja zuerstmal auf das gewünschte "Logging" von Benutzeraktivitäten abgestellt. Dazu ist kein Passwort nötig.
     
    Andre.Heisig, 9. Februar 2016
    #12
  13. Access 2010: Benutzernamen auslesen und verwenden

    Guten Morgen @,

    "Windows-Benutzernamen" ist schon mal gut. Damit kann ich etwas anfangen.
    Wusste nicht, was dieser Environ("Username") überhaupt hergibt, da ich ihn nirgendwo gefunden habe...
    er wird aber zu finden sein, da bin ich mir sicher. Statt PC-Name hätte ich Windows-Name schreiben sollen,
    das war natürlich ein schwerwiegender Fehler *Smilie
    Denn was ich gesucht habe, war der Konto-Name und der ist bei einem PC der 2 Nutzer hat mM wichtig.
    Den Windows-Benutzernamen haben ja vermutlich beide Kontos gleich, werden ja nicht gleich 2 Windows-Versionen installiert sein.
    Also, stellt sich dann für mich die Frage, wer ist wer.
    OK, wenn's nur einen Nutzer am PC gibt, ist der Konto-Name nicht notwendig.
    Was ich auch erwähnt habe...
    Und, ev. wurde das überlesen...
    Außerdem war es ja nur eine Idee, ich habe nicht geschrieben, man muss das so erstellen *grins OK?

    Ich werde diese Namen, wenn ich in der Fa. bin noch einmal testen!
     
    Kyron9000, 9. Februar 2016
    #13
  14. Geh mal in die DOS-Box (ja, das gibt es noch): Windows/R und dann cmd eingeben

    dort tippst du SET und du wirst die ganzen Systemvariablen sehen, welche du mit Environ in VBA herholen kannst.

    Zum zweiten User: du siehst nur immer das, unter demjenigen User du angemeldet bist.
     
  15. Hier liegt immer noch ein Missverständnis vor. Gesucht und per Environ("Username") ausgegeben wird der (individuelle) Benutzername, nicht der (NetBIOS-)Rechnername, nicht die Bezeichnung der Windows-Version oder Sonstiges.

    Wenn Du dich als "Peter Müller" am Rechner "Buchhaltung_01" auf einem "Windows 7" einloggst und in Access Environ("Username") ausgeben lässt, dann ist das Ergebnis "Peter Müller".

    Zumindest in allen AD-Umgebungen, nicht AD-gebundene Rechner hab ich in dem Zusammenhang schon ewig nicht mehr in der Hand gehabt, würde mich aber schwer wundern, wenn dort dann nicht der (lokale) Benutzername ausgelesen würde.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Andre.Heisig, 9. Februar 2016
    #15
Thema:

Access 2010: Benutzernamen auslesen und verwenden

Die Seite wird geladen...
  1. Access 2010: Benutzernamen auslesen und verwenden - Similar Threads - Access 2010 Benutzernamen

  2. Abfrage mit den jüngsten Einträgen erstellen

    in Microsoft Access Hilfe
    Abfrage mit den jüngsten Einträgen erstellen: Hallo liebe Experten, ich bastel gerade an einer Access-Datenbank für die Besuche meiner Klienten. Aus meiner Tabelle "KlientenT" und einer weiteren Tabelle mit "BesucheT" möchte ich eine Abfrage...
  3. Access to SQL Server

    in Microsoft Access Hilfe
    Access to SQL Server: Hallo, ich bin aktuell mit der Aufgabe beschäftigt eine Access Datenbank in SQL zu migrieren. Soweit so gut. Da es aber eine Übergangszeit geben wird, wird ein Nächtlicher Datenbankabgleich...
  4. Acces FrontEnd und MS SQL-Server als BackEnd

    in Microsoft Access Hilfe
    Acces FrontEnd und MS SQL-Server als BackEnd: Hallo zusammen, möchte MS access 2010 als FrontEnd und MS SQL-Server als Backend verwenden. Die Backend Tabellen sind bereits auf dem Server. Mit welchem VBA-Code sollte ich nun die MS...
  5. Neuerungen in Microsoft Access 2010

    in Microsoft Access Tutorials
    Neuerungen in Microsoft Access 2010: Neuerungen in Microsoft Access 2010 Access 2010 Mehr... Weniger In Microsoft Access 2010 können Sie...
  6. Welches Dateiformat sollte ich in Access 2010 verwenden?

    in Microsoft Access Tutorials
    Welches Dateiformat sollte ich in Access 2010 verwenden?: Welches Dateiformat sollte ich in Access 2010 verwenden? Access 2010 Mehr... Weniger Der Support für Office 2010 endete am...
  7. Einführung in die Sicherheit von Access 2010

    in Microsoft Access Tutorials
    Einführung in die Sicherheit von Access 2010: Einführung in die Sicherheit von Access 2010 Access 2010 Mehr... Weniger Der Support für Office 2010 endete am 13. Oktober...
  8. Access 2010 Web-Datenbanken – Roadmap

    in Microsoft Access Tutorials
    Access 2010 Web-Datenbanken – Roadmap: Access 2010 Web-Datenbanken – Roadmap Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden