Office: Aktive Benutzer einer Access-Datenbank erfragen

Helfe beim Thema Aktive Benutzer einer Access-Datenbank erfragen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, gibt es eine Möglichkeit alle "aktiven" Benutzer einer Access 2010 - Datenbank zu ermitteln? z.B. durch Abfrage bestimmter... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von wulfjack2, 4. November 2011.

  1. wulfjack2 Neuer User

    Aktive Benutzer einer Access-Datenbank erfragen


    Hallo,

    gibt es eine Möglichkeit alle "aktiven" Benutzer einer Access 2010 - Datenbank zu ermitteln?
    z.B. durch Abfrage bestimmter System-Variablen
    Wenn ja, wie sieht so eine Abfrage aus? ( z.B. VBA Code )
    Hintergrund: Die Datenbank muss immer wieder mal wg. "Wartung" vom Netzwerk genommen werden. Solange aber noch jemand damit arbeitet, ist das ungünstig.
     
    wulfjack2, 4. November 2011
    #1
  2. miriki Erfahrener User
    Ich weiß nicht, ob sich das in a2010 geändert hat, glaube es auch eher nicht, aber in a2000 gibt es passend zur .mdb auch immer eine .ldb (Lock-Datei). Das Vorhandensein dieser Datei zeigt schon, daß mindestens ein Benutzer gerade die dazu passende .mdb geöffnet hat.

    Siehe auch:
    http://support.microsoft.com/kb/299373/de

    Speziell das Zitat
    dürfte Dich dabei interessieren...

    Gruß, Michael
     
  3. wulfjack2 Neuer User
    Vielen Dank... ja, unter Access2010 heisst diese nunmehr *.laccdb und nicht mehr *.ldb (steht aber dasselbe drin)

    Aber der Inhalt ist nicht sehr aussaugekräftig. Die ersten 32Byte geben den PC-Namen, die zweiten 32 Byte den Namen, allerdings wie in unserem Fall immer "admin".

    Da die PC-Namen nicht sonderlich weiterhelfen (die kennt evtl. nur der Netzwerk-Admin) und der User "admin" auch nicht, suche ich nach einer Möglichkeit den Windows-Anmeldenamen auszulesen.
    Müsste aber mit der Funktion ausgestattet sein, dass wenn der Benutzer die Datenbank wieder schliesst, er aus der "temporären Tabelle" wieder verschwindet, oder falls das möglich ist, den Status "inaktiv" bekommt.

    Letzteres würde mir sogar noch besser gefallen, da man dann im Laufe der zeit alle Benutzer in der Tabelle hat, die jemals mit der datenbank gearbeitet haben.
    Also beim Öffnen in Tabelle Datensatz anlegen (falls noch nicht vorhanden) und den Status "aktiv" setzen, beim Schliessen der Datenbank den Status wieder auf "inaktiv" setzen.
    Klar, wenn er die Datenbank "abschiesst" bleibt er "aktiv", aber damit kann ich leben.

    So, da das ganze aber mangels Kenntnis meinerseits nicht realisiert werden kann, hoffe ich, jemand weiss wie's geht und wäre bereit mir eine Lösung zu nennen.

    Vielen Dank schon einmal an euch alle.
     
    wulfjack2, 10. November 2011
    #3
  4. miriki Erfahrener User

    Aktive Benutzer einer Access-Datenbank erfragen

    Das kommt drauf an...

    Das passiert, wenn Du nicht das Sicherheits-System über die Arbeitsgruppe aktivierst. Grob: Dem User "admin" werden alle Rechte entzogen und nur die "eingetragenen" Benutzer erhalten die entsprechenden Rechte. Weil: Ruft man die DB ohne weitere Parameter auf, ist "admin" die Standard-Anmeldung.

    fat chance... Ein Aufruf der entsprechenden Windows-API würde Dir immer nur den Benutzer-Namen des aktuellen Rechners zurückgeben. Schaust Du also auf Deinem Rechner in die DB, kriegst Du nur Deinen eigenen Namen zu sehen.

    Da wirst du wohl nicht umhin kommen, in die DB eine Anmelde-Routine einzubauen, um dann die aktiven, angemeldeten Benutzer in einer Tabelle mitzuschreiben, beim Schließen dann wieder auszutragen.

    Es gibt noch eine Möglichkeit, die man als "transparent" bezeichnen könnte, die ist aber u.U. nicht ganz unproblematisch was Arbeitsrecht und Datenschutz betrifft...

    Du könntest beim Öffnen der Datenbank den Rechner- und Benutzer-Namen über die Windows-Api abrufen. Schau dann in einer Tabelle nach, ob der Benutzer bereits einmal eingelogt war. Wenn nicht, dann frag ihn mit einer Input-Box nach seinem "realen" Namen. Speicher dies in einer Tabelle in der DB.

    In jedem Formular kannst Du dann beim Öffnen-, Ändern- und Schließen-Ereignis den Benutzer in ein Protokoll schreiben. Damit weißt du, wer wann was gemacht hat. Allerdings sollte diese Methode dringend mit dem Betriebs- bzw. Personal-Rat besprochen werden. Eine derartig detaillierte Überwachung der Mitarbeiter-Aktionen ist nur in Ausnahmefällen gestattet.

    Eine "harmlosere" Variante kann in einer "aktiv"-Tabelle ja beim Öffnen eines Formulars oder Ändern eines Datensatzes den Benutzer eintragen, beim Schließen wieder austragen, ganz ohne Uhrzeit usw. Sollte es möglich sein, mehrere Formulare parallel zu öffnen, müßte das allerdings etwas differenziert durchgeführt werden.

    Damit hättest Du dann eine Tabelle, in der alle gerade mit der DB arbeitenden Benutzer erfaßt sind.

    Gruß, Michael
     
  5. miriki Erfahrener User
    Mit der heißen Nadel gestrickt, aber im Anhang ist mal so ein Grundgerüst dafür.

    Gruß, Michael
     
Thema:

Aktive Benutzer einer Access-Datenbank erfragen

Die Seite wird geladen...
  1. Aktive Benutzer einer Access-Datenbank erfragen - Similar Threads - Aktive Benutzer Access

  2. Zugriff auf andere Excel Datei ohne aktives Öffnen

    in Microsoft Excel Hilfe
    Zugriff auf andere Excel Datei ohne aktives Öffnen: Liebe Community, ich habe mir eine Formel geschrieben um Werte aus einer anderen Excel Datei in meine Haupt Excel Datei einzufügen. Leider muss die Datei aus der ich die Daten haben will immer...
  3. Im Endlosformular aktiven Datensatz hervorheben

    in Microsoft Access Hilfe
    Im Endlosformular aktiven Datensatz hervorheben: Hallo liebe Mitglieder. Eigentlich benötige ich was ganz einfaches... Ich lasse mir meine Datensätze (Filme) in einem Endlosformular anzeigen. Jeder Datensatz hat diverse Buttons. Klicke ich auf...
  4. Nur ein aktives Optionsfeld

    in Microsoft Word Hilfe
    Nur ein aktives Optionsfeld: Hallo liebe Word-Gemeinde. Ich bin auf der Suche nach einer Lösung, komme aber nicht dahinter. Ich benötige Optionsfelder, in der es nur eine Wahlmöglichkeit gibt. Beispiel: Ich möchte einen...
  5. Pivot Table Felder - Alle und Aktiv nicht angezeigt

    in Microsoft Excel Hilfe
    Pivot Table Felder - Alle und Aktiv nicht angezeigt: Guten Tag, ich versuche eine Pivot Tabelle mit Daten aus mehreren Tabellen zu machen. Ich habe ein Datenblatt mit sechs Tabellen und ein Datenblatt mit zwei Tabellen, welche ich alle in einer...
  6. Aktive Zeile dauerhaft markieren

    in Microsoft Excel Hilfe
    Aktive Zeile dauerhaft markieren: Möchte wenn ich in eine Zelle gehe, das per Knopfdruck die Zeile von Spalte B bis P dauerhaft markiert wird. Bin ein Newbie und habe einiges gefunden um die Aktuelle Zeile zu markieren, jedoch...
  7. Immer aktives Blatt versenden.

    in Microsoft Excel Hilfe
    Immer aktives Blatt versenden.: Hallo Zusammen, kann man den Code so ändern das immer das gerade aktive Blatt nur versendet wird ? Am besten ohne das Range ("X1") Sondern immer den Namen des Blattes als Datei und als xlsx...
  8. VBA Code - aktive Zeile markieren und kopieren

    in Microsoft Excel Hilfe
    VBA Code - aktive Zeile markieren und kopieren: Hallo zusammen Ich möchte die aktive Zeile mit den Spalten A:AA im Tabellenblatt 1 mit einem VBA Code automatisch ins Tabellenblatt 2, Zeile 1 kopieren. Habe schon einige Codes versucht, und...
  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