Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

4.8 Wie kann ich ermitteln, welche User zur Zeit mit meiner Datenbank arbeiten





Frage

Hallo Experten, ich habe aus dem Internet folgende Info rausgezogen und frage nach Eurer Hilfe bei der Implementierung dieses Alternativvorschlags. Ich habe schon was ausprobiert, komme aber nicht weiter. Gruß Martin "In einer Mehrbenutzerumgebung wird eine LDB-Datei erzeugt, sobald ein Benutzer eine Datenbank öffnet. In dieser Datei werden die Computer- und Benutzernamen hinterlegt, die eine Datenbank öffnen. In der allgemeinen Literatur zu diesem Thema wird immer wieder darauf verwiesen, die LDB-Datei zu verwenden, um die Anzahl und die Namen der z.Zt. aktiven Benutzer einer Datenbank zu ermitteln (JETUTILS.EXE, LDBUSER.DLL usw.). Dieses Verfahren hat jedoch den Nachteil, dass Benutzer, die sich inzwischen wieder abgemeldet haben, weiter in der LDB-Datei geführt werden. Erst wenn sich der letzte Benutzer abgemeldet hat, wird die Datei gelöscht, es werden jedoch zwischenzeitlich keine Einträge gelöscht. ALTERNATIVE: Alternativ bietet sich folgendes Verfahren an: · Erstellen Sie eine eigene Tabelle mit einem Feld „Benutzername“ · Beim Start Ihrer Anwendung tragen Sie den aktuellen Benutzer in diese Tabelle ein. · Öffnen Sie ein Dummy-Formular, dessen Sichtbar-Eigenschaft auf „Nein“ steht. Dieses Formular bleibt während der gesamten Laufzeit Ihrer Anwendung geöffnet. · Im OnClose-Ereignis dieses Formulars löschen Sie den Eintrag des aktuellen Benutzers aus o.g. Tabelle. In der Tabelle sind während der Laufzeit Ihrer Anwendung alle angemeldeten Benutzer eingetragen. Zusätzlich können Sie z.B. den aktuellen Bearbeitungsstatus zum Benutzer o.ä. mitführen."

Antwort 1 von Max D.

Keiner ´ne Idee ??? :-(

Antwort 2 von JohnnyLoser

Hi Martin,

was hast Du probiert und wo kommst Du nicht weiter?

1. Tabelle erstellen
Name: tblRegUser
Feld1: User, Text (Duplikate möglich)
Feld2: RegDate, Datum
Optional im Datenbankfenster ausblenden

2. Formular erstellen
Name: frmRegUser
Eigenschaft "Sichtbar": Nein
Optional im Datenbankfenster ausblenden

3. Im Form_Load Ereignis von frmRegUser
CurrentDb.Execute("INSERT INTO tblRegUser SELECT '" & CurrentUser() & "' AS User, Now() AS RegDate")


4. Im Form_Unload Ereignis von frmRegUser
CurrentDb.Execute("DELETE FROM tblRegUser WHERE RegUser = '" & CurrentUser() & "'")


Jetzt mußt Du nur noch das Formular über die Startoptionen oder über ein AutoExec-Makro öffnen und Du findest immer die aktuellen User in der Tabelle tblRegUser.

Gruß

Johnny

Antwort 3 von Max D.

Und nochmal hoooooooooch!!!!

Antwort 4 von Grabestau

Hi !

Vielleicht hilf Dir das weiter:

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=3625581669&catego...

Weiß aber net, ob er die Original CD verkauft. Ich werde aber weitersuchen, weil mich das Programm auch interessiert. Wenn du ein Shop finden solltest, wo es das in Dt. zu kaufen gibt, sag mir bescheid. Wenn ich es finde, sag ich Dir bescheid ;-)

*auchhabenwill*

bye
Grabestau

Antwort 5 von Grabestau

P.S. Ich kenne eine Quelle, wo ich es evtl. bestellen könnte. Ich frag morgen gleich mal nach und geb Dir bescheid.

bye
Grabestau

Antwort 6 von RaTsch

Was hällst Du davon: http://swishers.de/get_swish.html

Greetz

RaTsch

Antwort 7 von Max D.

@RaTsch:
Berechtigte Frage!! Leider kann die Seite http://swishers.de/get_swish.html bei mir nicht angezeigt werden. Wegen "Ausführung von ActiveX-Steuerelementen.....(deaktiviert). Wenn ich diese aktiviere
, stürzt mir die Kiste ab (ein anderes Prob.). Kannst mir aber gerne mal den Inhalt der Seite übermitteln. Gruß Max

Antwort 8 von martin boll

Hallo Johnny,

das hat super funktioniert. Eine Sache bleibt noch:

Wie mache ich in AC97 mein Formular und die Tabelle unsichtbar? Ich habe es irgendwie nicht gefunden!

Danke und Gruß

martin


Antwort 9 von JohnnyLoser

Meinst Du ausblenden?

Macht IMHO nur dann Sinn, wenn die User das Datenbankfenster sehen können.

Rechte Maustaste auf Objektnamen im DB-Fenster, Eigenschaften -> Ausgeblendet

Einblenden unter Extras|Optionen "Ausgeblendete Objekte" anzeigen.

Mein Vorschalg hat übrigens einige Möglichkeiten nicht berücksichtigt:

1. Derselbe User meldet sich an mehreren Stationen an.
Es wird zwar pro Anmeldung ein Eintrag vorgenommen, doch bei der ersten Abmeldung werden alle Einträge gelöscht.
Kann man vermeiden, wenn man noch bei der Anmeldung eine Zufallszahl generiert, diese in eine Variable speichert und zusätzlich in ein weiteres Feld der tblRegUser. Beim Abmelden die Kriterien um diese Variable erweitern und es wird nur ein Eintrag gelöscht.

2. Access wird über Quit oder Absturz beendet.
Der Datensatz wird nicht gelöscht.
Könnte man über eine Timer-Funktion im Formular steuern, daß im Feld RegDate z.B. alle 5 Minuten Datum und Uhrzeit aktualisiert werden.
Gleichzeitig könnte man alle Einträge löschen, die älter 30 Minuten sind.

3. Durch das ständige Anfügen und Löschen bläht sich die Datenbank auf.
Könnte man dadurch lösen, daß man anstatt den Datensatz zu löschen, für jede User/Rechner-Kombination einen eigenen Datensatz zulässt, der zusätzlich über einen Session-Zähler verfügt.


tblRegUser
Felder:
-User
-PC
-NbOfSessions
-RegDate
(kombinierter Index auf User+PC: ohne Duplikat)

Beim Öffnen des Formulars werden User- und Computername ermittelt, dann ein INSERT INTO-Statement abgeschickt, welches den Datensatz neu anlegt (falls vorhanden, Fehler abfangen) und anschließend ein UPDATE-Statement, wobei Session un 1 erhöht wird, sowie aktuelles Datum/Uhrzeit.
Die Timer-Funktion sollte alle 5 Minuten Datum/Uhrzeit aktualisieren.
Beim Abmelden wird Session um 1 reduziert.

Verwirrt? Ich auch!

Falls Du willst, kann ich Dir auch mal ein Beispiel mailen.

Antwort 10 von JohnnyLoser

Hi Martin,

habe Dir die DB soeben geschickt.

Hope it helps!

Johnny

Antwort 11 von RaTsch

Also, laut o.g. website:

email an get_swish@hotmail.com

Kostenpunkt: 80 Euro für Swishmax Vollversion!

Wie es nach dieser mail weitergeht weiß ich leider nicht, da ich selbst nicht (noch nicht) geordert habe!

Greetz

RaTsch


Sorry, daß es etwas länger gedauert hat ...!

Antwort 12 von RaTsch

Achja, soll ab Oktober wohl nochmals 20 Euro (also insgesamt 100 Euro) teurer sein!

In Deiner email Name und Adresse nennen!

O.g. Punkte sind alles Auszüge aus der Website!

Grüzis

RaTsch

Antwort 13 von RaTsch

... und nochmal: die Swishmax gibts hier http://download.com.com/3000-2068-10042665.html als Testversion!

Gruß

RaTsch

Antwort 14 von Oldie

http://swishers.de/get_swish.html

Kauf ohne Kreditkarte extra vermerkt!

Antwort 15 von martin boll

Hallo Johnny,

die DB habe ich erhalten, vielen Dank! Gebe Dir in den nächsten Tagen Feedback (muß noch alles verstehen ;-))

Gruß

martin

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: