Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lukyluke68 am Januar 06, 2014, 10:37:53

Titel: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 06, 2014, 10:37:53
Hallo,

Ich möchte mir als Admin anzeigen lassen, welche Benutzer gerade Zugriff also online mit der Datenbank verbunden sind.
Da jeder auf seinem PC mit seiner Personalnummer bei uns als QNummer bekannt angemeldet ist, müsste ich ihn doch auslesen können? Jede QNummer ist in der Tabelle Personal_tab dem Namen zugewiesen.
Titel: Re: Benutzer auflisten
Beitrag von: MzKlMu am Januar 06, 2014, 10:50:31
Hallo,
die Benutzer kannst Du aus der Ldb (bei einer Mdb) oder der acclb (?) auslesen. Das ist eine einfache Textdatei die man mit dem Editor ansehen und bei Bedarf auch auslesen kann. Diese LB Files werden automatisch beim Start von Access angelegt.
Titel: Re: Benutzer auflisten
Beitrag von: DF6GL am Januar 06, 2014, 11:06:53
Hallo,

die ldb-Datei ist für solche Prüfungen eher nicht geeignet, weil nach dem Ausloggen eines Anwenders (Beenden der Applikation) sein Eintrag nicht entfernt wird.


Besser:

http://dbwiki.net/wiki/VBA_Tipp:_Aktuelle_Benutzer_ermitteln
Titel: Re: Benutzer auflisten
Beitrag von: MzKlMu am Januar 06, 2014, 11:08:13
Hallo,
war mir nicht bewusst, danke für den Hinweis.
Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 06, 2014, 14:32:58
Hallo Franz,

Gibt es hierzu vielleicht eine Bsp.datei?
Titel: Re: Benutzer auflisten
Beitrag von: database am Januar 06, 2014, 15:17:14
Hallo,

sorry, wozu brauchst du eine Bsp.datei?

erstelle in einer neuen DB einfach ein Standardmodul und kopiere den Code aus dem Link von Franz dorthin.
Danach rufst du im Direktfenster die Prozedur so auf wie es im Artikel beschrieben wurde - fertig.

Beachte aber, dass du die aktuell geöffnete DB nicht abfragen kannst sondern nur eine, auf deinem Rechner nicht geöffnete.

Der Code aus dem DBWiki wurde für *.mdb - Dateien geschrieben, wenn du eine *.accdb (Access 2007/2010) abfragen möchtest, dann ersetze im Code vom DBWiki diese Zeile:

cn.Provider = "Microsoft.ACE.OLEDB.12.0"

HTH

Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 06, 2014, 16:18:40
Hallo,

habe eine neue DB erstellt und in ein neues Modul den Code mit der Änderung cn.Provider = "Microsoft.ACE.OLEDB.12.0" eingefügt.
Im Direktfenster habe ich wie im Link den Code kopiert.

Und dann?

Ich hänge total.

Titel: Re: Benutzer auflisten
Beitrag von: database am Januar 06, 2014, 16:34:01
Hi,

na dann gibst du so wie im DBWiki-Beispiel ein ...

ShowUserRosterMultipleUsers "X:\DeineDatenbank.accdb"

und drückst ENTER
Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 06, 2014, 20:28:23
Hallo,

was mache ich hier noch falsch?
Titel: Re: Benutzer auflisten
Beitrag von: DF6GL am Januar 06, 2014, 21:37:30
Hallo,

vermutlich ist der Verweis auf die ADODB-Library nicht gesetzt..
Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 07, 2014, 10:37:32
Hallo,

und wie kann man de Verweis hier setzen?
Titel: Re: Benutzer auflisten
Beitrag von: DF6GL am Januar 07, 2014, 13:01:29
Hallo,

VBA-Editor/Menüleiste/Extras/Verweise....
Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 07, 2014, 16:51:13
Hallo,

ich kann in den vielen Verweisen diesen Eintrag zum aktivieren ADODB-Library nicht finden. Hat der hier einen anderen Namen?
Titel: Re: Benutzer auflisten
Beitrag von: DF6GL am Januar 07, 2014, 17:20:12
Hallo,

eine von diesen austesten..

Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 07, 2014, 17:54:47
Hallo Franz,

das hat jetzt geklappt. Im Fenster zeigt es mir jetzt an, wer die Datenbank gerade geöffnet hat.
Ich kann aber dieses Modul, nicht in mein FE intergrieren und es als Admin starten?
Wie bereits beschrieben wurde, anscheinend nur in einer extra erstellten
Titel: Re: Benutzer auflisten
Beitrag von: DF6GL am Januar 07, 2014, 19:23:06
Hallo,

ja, nun, das ist halt so...
Titel: Re: Benutzer auflisten
Beitrag von: lukyluke68 am Januar 07, 2014, 20:34:31
Hallo,

na dann Danke für Eure Hilfe.