Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: malibum am Februar 27, 2017, 15:03:40

Titel: Aktive Benutzer auslesen
Beitrag von: malibum am Februar 27, 2017, 15:03:40
Hallo zusammen,
da ich bei meiner Mehrbenutzerdatenbank auch Wartungsarbeiten durchführen muss möchte ich die aktuellen aktiven Benutzer auslesen. Damit möchte ich vermeiden, dass ich ein Datenbankupdate mache während noch jemand damit arbeitet. Ich habe nun folgenden Code soweit angepasst, dass der aktuelle Benutzer in eine Tabelle geschrieben wird inkl. Zeitpunkt und Status.

ZitatDim rs As Recordset
    Dim rsH As Recordset
    Dim fld As Field
   
    Set rsH = CurrentDb.OpenRecordset("tblAktuelleBenutzer", dbOpenDynaset)
     
    rsH.AddNew
    rsH!Time = Now
    rsH!User = Benutzer
    rsH!Status = "Closed"
   
    rsH.Update
    Set rs = Nothing
    Set rsH = Nothing

Dies funktioniert soweit auch alles. Allerdings würde ich nun einen Verlauf erstellen wer, wann wie lange die DB benutzt hat. Das möchte ich aber nicht, denn arbeitsrechtlich ist dies sicherlich nicht ganz ohne wenn eine solche Transparenz geschaffen wird (da mich das auch null interessiert wer wann wie lange drin war...). Daher möchte ich nur den aktuellen Benutzer in der Tabelle sehen. Zumal dies dann auch für mich deutlich übersichtlicher wäre.

Was muss ich an diesem Code noch ändern, dass beim Schließen der Datenbank der Datensatz, der beim öffnen der DB erstellt wird, automatisch gelöscht wird?

Ich bin wieder für jeden Tipp Dankbar!  ;)

Viele Grüße
Malibum
Titel: Re: Aktive Benutzer auslesen
Beitrag von: Beaker s.a. am Februar 27, 2017, 15:39:48
Hallo,
Wozu dann überhaupt eine Extratabelle? Kannst du doch einfach
in der MA-Tabelle ein Flag "eingeloggt" mitführen.
gruss ekkehard
Titel: Re: Aktive Benutzer auslesen
Beitrag von: malibum am Februar 27, 2017, 17:00:58
Hallo Ekkehard,
stimmt danke für deine Idee, ich weis allerdings nicht wie ich das umsetzen soll... (zu wenig Erfahrung)  :o
Gruß
Malibum
Titel: Re: Aktive Benutzer auslesen
Beitrag von: Beaker s.a. am Februar 27, 2017, 18:10:30
Hallo,
Hm, ein Ja/Nein-Feld in deine tblBenutzer ist wohl klar.
An der Stelle, an der du jetzt den DS in die tblAktuelleBenutzer"
schreibst, führst du ein Update auf o.a. Feld durch

UPDATE tblBenutzer
SET Eingeloggt = True
WHERE BenutzerID = Anmelder

Wirst du ja wissen, wo der Vergleichwert herkommt.
Und beim Ausloggen das gleiche nur mit "Eingeloggt = False".
Wer aktuell eingeloggt ist erfährst du so
SELECT MAName FROM tblBenutzer WHERE Eingeloggt = True
(Alle Namen anpassen!)
Fehlt noch was?

gruss ekkehard
Titel: Re: Aktive Benutzer auslesen
Beitrag von: markusxy am Februar 27, 2017, 18:32:22
@malibum,
wie willst du bei deinem Wissensstand eine Datenbank warten?
Wo soll das ohne Basiswissen hinführen?
Titel: Re: Aktive Benutzer auslesen
Beitrag von: MaggieMay am Februar 28, 2017, 00:22:25
Hallo,

ist deine DB/Anwendung im 24-Stundenbetrieb im Einsatz? Andernfalls sollte es Zeitfenster geben, in denen das Backend ausgetauscht und bei Neustart der Frontends automatisch neu eingebunden wird.

Oder um welche Art von "Wartungsarbeiten" geht es dir?
Titel: Re: Aktive Benutzer auslesen
Beitrag von: malibum am Februar 28, 2017, 10:00:55
Hallo,

vielen Dank ekkehard! Hat prima geklappt!  :)

@MaggieMay: Nein sie ist nicht 24h im Einsatz. Wartungsarbeiten betreffen regelmäßige Updates der Produktlisten.

@markus888: Also Basiswissen habe ich mittlerweile auf jeden Fall! (Da ich die DB komplett aufgebaut habe) Bin nur in VBA noch nicht so firm^^

Grüße
malibum
Titel: Re: Aktive Benutzer auslesen
Beitrag von: MaggieMay am Februar 28, 2017, 23:57:56
Sorry, aber unter "Wartungsarbeiten" versteht man normalerweise nicht die Aktualisierung von Daten (via SQL-Abfragen), sondern eher Änderungen am Tabellenentwurf, die natürlich nicht im laufenden Betrieb vorgenommen werden können.

Für die Bestimmung der Gültigkeit von Produktlisten könnte man evtl. auch ein Gültigkeitsdatum hinzufügen, welches dann bei der Datenauswahl zu berücksichtigen wäre.
Titel: Re: Aktive Benutzer auslesen
Beitrag von: malibum am März 01, 2017, 14:45:15
Allgemeine Änderungen wie neue Benutzerfunktionen gehören auch dazu...  ::)
Titel: Re: Aktive Benutzer auslesen
Beitrag von: MaggieMay am März 01, 2017, 23:39:06
Was haben "Benutzerfunktionen" im Backend zu suchen?  ???