Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Aktive Benutzer auslesen

Begonnen von malibum, Februar 27, 2017, 15:03:40

⏪ vorheriges - nächstes ⏩

malibum

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

Beaker s.a.

Hallo,
Wozu dann überhaupt eine Extratabelle? Kannst du doch einfach
in der MA-Tabelle ein Flag "eingeloggt" mitführen.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

malibum

Hallo Ekkehard,
stimmt danke für deine Idee, ich weis allerdings nicht wie ich das umsetzen soll... (zu wenig Erfahrung)  :o
Gruß
Malibum

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

markusxy

@malibum,
wie willst du bei deinem Wissensstand eine Datenbank warten?
Wo soll das ohne Basiswissen hinführen?

MaggieMay

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?
Freundliche Grüße
MaggieMay

malibum

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

MaggieMay

#7
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.
Freundliche Grüße
MaggieMay

malibum

Allgemeine Änderungen wie neue Benutzerfunktionen gehören auch dazu...  ::)

MaggieMay

Was haben "Benutzerfunktionen" im Backend zu suchen?  ???
Freundliche Grüße
MaggieMay