Hallo Leute,
kann ich in einer Access-MDB die Anzahl der gleichzeitig arbeitenden Benutzer einschränken, ohne Programmcode zu erzeugen?
Mir ist klar, daß man das programmieren kann, aber geht das auch über die Security-Einstellungen?
Vielen Dank schonmal für jeden Hinweis.
Gruß
Georg
Ohne Programmcode geht es wohl nicht, wenn Du magst kann ich Dir aber das Verfahren mitteilen wie Du es mit einem wirklich kleinen Programmcode hinbekommst.
Gruß
Marko
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Jürgen,
hier mein Vorschlag:
Voraussetzung die Tabellen werden gleichzeitig genutzt, d.h. sind gelinkt.
Generiere eine Tabelle mit dem Namen „ActivUsers“, mit dem Feld „Username“
Ich gehe davon aus Du benutzt ein Startformular. So jetzt geht es los:
Event im Formular „on open“
dim db as database
dim rs as recordset
dim Anzahl as string
anzahl = 10 'Anzahl der gleichzeitig zugelassenen User
set db = currentdb
set rs = db.openrecordset („activusers“)
rs.movelast ’ die Anzahl der bereits angemelden User wird ermittlet
if rs.recordcount = anzahl or rs.recordcount > anzahl then
msgbox „Die zulässige Anzahl von Benutzern " & anzahl & " ist erreicht, die Anwendung wird beendet!“, vbcritical
docmd.quit 'ist die Anzahl erreicht wir dei DB beendet
else
rs.addnew 'Ist die Anzahl noch nicht erreicht, wird der Tabelle ein User hinzugefügt, der nächst der sich anmelden wird u.U. abgemeldet.
rs!Username = currentuser
rs.update
rs.close
db.close
end if
end sub
Damit aber beim abmelden eines Users auch die Anzahl der registriterten User abnimmt, muß man z.b. beim Event „on close“ das ganze Rückwärts machen.
dim db as database
dim rs as recordset
dim Anzahl as string
set db = currentdb
set rs = db.openrecordset („activusers“)
do until rs.eof
if rs!username = currentuser then 'Tabelleneintrag des aktuellen Users wird gesucht (geht auch über SQL, lassen wir aber liebe)
rs.delete 'gefunden Datensatz wird gelöscht
rs.update
rs.close
end if
loop
Bei Fragen hierzu kannst Du mir jederzeit mailen !
Gruß Marko