Access2K: Benutzergruppen-Verwaltung

Moin,

ich habe eine stinknormale Access-Datenbank angelegt (*.mdb), die mehrere Tabellen und ein Formular enthält.
Letzteres dient zur Eingabe von Daten in eine der Tabellen, und letztere referenziert die anderen Tabellen, um indizierte Daten im Klartext darstellen zu können bei der Eingabe.

Soweit ist alles klar. Nun würde ich aber gerne die Benutzer dieser Datenbank in ihren Rechten beschränken, damit sie nur noch Eingaben und Änderungen in dieser Tabelle machen können, nicht aber in den anderen. Das scheint ja mit der Benutzer- und Gruppenverwaltung im Prinzip kein Problem zu sein. Allein die Praxis stellt mich vor ein paar Rätsel.

Die erste Frage vorneweg: Nehmen wir an, ich habe einen Stand-alone-Rechner, an dem nur ich arbeite. Ich möchte diese Datenbank aber trotzdem mal als der eine, mal als der andere Nutzer öffnen und bearbeiten. Alles spielt sich komplett lokal auf der Festplatte ab, meinetwegen unter ein und derselben Windows-98-Session.

Geht das überhaupt?

Die Zielumgebung sieht ein klein wenig anders aus. Auf einem Unix-Server, der im Win2k- bzw. XP-Netzwerk als normales Netzlaufwerk eingebunden ist, liegt die Datenbank-Datei, und die verschiedenen Nutzer sollen von ihren Rechnern aus darauf zugreifen. Geht erstmal, sogar gleichzeitig, wie ich festgestellt habe.

Frage 1 dazu: Diese Gleichzeitigkeit … kann man das nicht irgendwo einstellen, dass immer nur einer ran darf? Ich dachte, ich hätte solche Optionen schon gesehen, kann sie aber nicht wiederfinden.

Frage 2: Ich nehme mal an, der Datei ist nicht bekannt, welcher Nutzer sich da über sie hermacht, auch wenn es das Windows-Netzwerk natürlich weiss. Oder? Anders gefragt: Die „Netzwerk-Identität“ der Nutzer sollte keinen Einfluss, auf die Nutzer-Verwaltung der Datenbank haben, auf die einfach per Doppelklick im Windows-Explorer zugegriffen wird. Oder?

Frage 3: Ich hatte mal spontan versucht, den Gruppen-Assistenten oderso über die Datenbank zu jagen. Bis zu einem bestimmten Punkt ging´s auch aber am Ende ist er dann doch eingeknickt und sagte, er könne es nicht vollenden. Dabei hatte er schon eine *.mdw-Datei angelegt, glaube ich.

Allerdings kann ich den Assistenten seitdem nicht mehr starten, weil ich angeblich kein Administrator sein dürfe, wenn die DB zuvor gesichert wurde. Hä? Okay, die alte Sicherungskopie rausgezogen, nochmal versucht. Gleiches Spiel: Plötzlich darf ich den Assistenten nicht starten, weil ich KEIN Administrator bin! Zwischendurch hatte sich beim Öffnen der DB sogar mal ein Login-Fenster geöffnet, das mir den angelegten Testnutzer anbot. Den hatte ich dann auch ausgewählt, und deshalb war ich wohl kein Admin mehr. Das Problem ist nur, dass er mich danach nie wieder beim Öffnen nach dem Login gefragt hat. Außerdem war das eigentlich die Sicherungskopie der MDB, also wie kommt da überhaupt irgendwas mit Benutzern rein? Das hatte ich doch erst NACH dem Backup gemacht.

Ihr seht, es ist reichlich verworren, und die Hilfe nützt mir ausnahmsweise wenig, weil die ersten Schritte dort offenbar fehlen und immer erst auf der bestehenden Verwaltung aufgesetzt wird.

Gibt es irgendeinen Trick oder robusten Leitfaden, wie man so eine eigentlich recht simple Sache hinbekommt? Ich kann mir nicht vorstellen, dass nicht nur irgendwo ein kleiner Schritt fehlte (dopplete Negation, sorry).

Dankbar für Hinweise wäre
Kristian

Moin,

ich habe eine stinknormale Access-Datenbank angelegt (*.mdb),
die mehrere Tabellen und ein Formular enthält.
Letzteres dient zur Eingabe von Daten in eine der Tabellen,
und letztere referenziert die anderen Tabellen, um indizierte
Daten im Klartext darstellen zu können bei der Eingabe.

Soweit ist alles klar. Nun würde ich aber gerne die Benutzer
dieser Datenbank in ihren Rechten beschränken, damit sie nur
noch Eingaben und Änderungen in dieser Tabelle machen können,
nicht aber in den anderen. Das scheint ja mit der Benutzer-
und Gruppenverwaltung im Prinzip kein Problem zu sein. Allein
die Praxis stellt mich vor ein paar Rätsel.

Die erste Frage vorneweg: Nehmen wir an, ich habe einen
Stand-alone-Rechner, an dem nur ich arbeite. Ich möchte diese
Datenbank aber trotzdem mal als der eine, mal als der andere
Nutzer öffnen und bearbeiten. Alles spielt sich komplett lokal
auf der Festplatte ab, meinetwegen unter ein und derselben
Windows-98-Session.

Geht das überhaupt?

Natürlich geht das! Ist nur eine Frage der verwendeten *.mdw
Standardmäßig greift Access auf die „eigene“ system.mdw zu.

Die Zielumgebung sieht ein klein wenig anders aus. Auf einem
Unix-Server, der im Win2k- bzw. XP-Netzwerk als normales
Netzlaufwerk eingebunden ist, liegt die Datenbank-Datei, und
die verschiedenen Nutzer sollen von ihren Rechnern aus darauf
zugreifen. Geht erstmal, sogar gleichzeitig, wie ich
festgestellt habe.

Frage 1 dazu: Diese Gleichzeitigkeit … kann man das nicht
irgendwo einstellen, dass immer nur einer ran darf? Ich
dachte, ich hätte solche Optionen schon gesehen, kann sie aber
nicht wiederfinden.

Theoretisch ja, nämlich indem man die Datenbank sperrt, sobald ein Benutzer sich einloggt. Macht meiner Ansicht nach aber keinen Sinn.

Frage 2: Ich nehme mal an, der Datei ist nicht bekannt,
welcher Nutzer sich da über sie hermacht, auch wenn es das
Windows-Netzwerk natürlich weiss. Oder?

Freilich ist der Datei bekannt, wer darauf zugreift. Deswegen wird immer, wenn eine Datenbank geöffnet wird, eine gleichnamige *.ldb angelegt. Nach Schliessen der DB wird die ldb auch wieder geschlossen. Enthalten sind darin die Login-Sessions, die man mit Tools/Befehlen auch auslesen kann.

Anders gefragt: Die
„Netzwerk-Identität“ der Nutzer sollte keinen Einfluss, auf
die Nutzer-Verwaltung der Datenbank haben, auf die einfach per
Doppelklick im Windows-Explorer zugegriffen wird. Oder?

Im Netzwerk sollte eine DB immer geschützt betrieben werden. Und da bestimmt nicht die Netzwerk-Identität, wer sich einloggen darf und was der User darf, sondern die Benutzerverwaltung der DB.

Frage 3: Ich hatte mal spontan versucht, den
Gruppen-Assistenten oderso über die Datenbank zu jagen. Bis zu
einem bestimmten Punkt ging´s auch aber am Ende ist er dann
doch eingeknickt und sagte, er könne es nicht vollenden. Dabei
hatte er schon eine *.mdw-Datei angelegt, glaube ich.

Allerdings kann ich den Assistenten seitdem nicht mehr
starten, weil ich angeblich kein Administrator sein dürfe,
wenn die DB zuvor gesichert wurde. Hä? Okay, die alte
Sicherungskopie rausgezogen, nochmal versucht. Gleiches Spiel:
Plötzlich darf ich den Assistenten nicht starten, weil ich
KEIN Administrator bin! Zwischendurch hatte sich beim Öffnen
der DB sogar mal ein Login-Fenster geöffnet, das mir den
angelegten Testnutzer anbot. Den hatte ich dann auch
ausgewählt, und deshalb war ich wohl kein Admin mehr. Das
Problem ist nur, dass er mich danach nie wieder beim Öffnen
nach dem Login gefragt hat. Außerdem war das eigentlich die
Sicherungskopie der MDB, also wie kommt da überhaupt irgendwas
mit Benutzern rein? Das hatte ich doch erst NACH dem Backup
gemacht.

Das kann ich nun leider nicht nachvollziehen…

Ihr seht, es ist reichlich verworren, und die Hilfe nützt mir
ausnahmsweise wenig, weil die ersten Schritte dort offenbar
fehlen und immer erst auf der bestehenden Verwaltung
aufgesetzt wird.

Gibt es irgendeinen Trick oder robusten Leitfaden, wie man so
eine eigentlich recht simple Sache hinbekommt? Ich kann mir
nicht vorstellen, dass nicht nur irgendwo ein kleiner Schritt
fehlte (dopplete Negation, sorry).

Leitfaden gibt es diverse, in entsprechender Fachliteratur.
Das einfachste ist - meiner Meinung nach - sich eine neue Datenbank anzulegen, mindestens einen Benutzer hinzufügen, der Admin-Rechte hat, dann die Datenbank zu sichern und sich eine solche, gesicherte Datenbank als „Vorlage“ zu halten. Die kann man dann kopieren, bearbeiten, etc…

Ich persönlich mache die Benutzerberechtigungen folgendermassen:

  • Datenbank sichern )mit mdw und natürlich beim Öffnen der Datenbank dann den Link entsprechend anpassen)
  • Benutzerberechtigungen auf Formularebene (also zwei zusätzliche Tabellen für die Berechtigungen, und beim Öffnen von Formularen, Berichten, etc. die entsprechende Abfrage, was der Benutzer darf)

Gruss
Susanne

Ich probier´s mal.
Danke Susanne,

ich werde mir das mal auf der Zunge zergehen lassen und ausprobieren. Bei Bedarf frage ich nochmal nach, ja?

Danke und schönes Wochenende!
Kristian

Hallo Kristian,

klar, kein Problem!
Gruß
Susanne

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Susanne,

dürfte ich auf Dein Angebot nochmal zurückkommen bitte?
Siehe hier: http://www.wer-weiss-was.de/cgi-bin/www/service.fpl?..

Danke,
Kristian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Susanne,

dürfte ich auf Dein Angebot nochmal zurückkommen bitte?
Siehe hier:
http://www.wer-weiss-was.de/cgi-bin/www/service.fpl?..

Danke,
Kristian

Klar!
Schreib mir eine Email.

Gruss
Susanne