Discussion:
Access Tabellen gegen Veränderung sperren
(zu alt für eine Antwort)
Ernst Rutz
2004-05-19 20:31:01 UTC
Permalink
Hallo NG-Profis

Wie ist es möglich Tabelle(n) gegen Veränderung zu schützen? (read
only)

Ich habe 2 Datenbanken
1. Xyz_Dat.mdb mit den Tabellen
2. Xyz_prg.mde mit den Progs, Forms, Reports usw. mit Verknüpfungen
auf die Tabellen in DB 1 (Xyz_Dat.mdb)

Ich möchte nun, dass der Benutzer die Daten in (evtl. nur einzelnen)
Tabelle(n)
der DB Nr 1 (Xyz_Dat.mdb) nicht verändern, sondern nur noch via
Xyz_prg.mde
auslesen kann.

Wie ich das in der DB2 (Xyz_prg.mde) zu erledigen habe ist klar.

Ich möchte aber auch, dass der Benutzer die Daten auch dann nicht
verändern
kann, wenn er die DB1 (Xyz_Dat.mdb) direkt zu bearbeiten versucht.

Die einfachste Möglichkeit, die genau mein Ziel erreicht, wäre wenn
ich das Attribut "Schreibgeschützt" der Datei Xyz_Dat.mdb auf Wahr
setzen würde.
Nachteil in diesem Fall:
1. Es sind alle Tabellen der DB gesperrt, was sich dadurch verhindern
liesse,
wenn ich "Xyz_Dat.mdb" in zu sperrende und nicht zu sperrende Tabellen
aufteilen würde.
2. Nachteil: Für den User ist es etwas gar einfach dieses Attribut
wieder
aufzuheben.
3. Ich weiss nicht, wie man dieses Datei-Attribut aus access-vba
heraus aktivieren könnte. (Wie war das gute alte MS-DOS noch
paradiesisch)

BS: Win XP und Win 98 (FAT32)
Access: 2K

mit herzlichen Grüssen aus dem sonnigen Appenzellerland
Ernst
Gunter Avenius
2004-05-20 07:35:00 UTC
Permalink
Hallo Ernst,
Post by Ernst Rutz
Wie ist es möglich Tabelle(n) gegen Veränderung zu schützen? (read
only)
Ich habe 2 Datenbanken
1. Xyz_Dat.mdb mit den Tabellen
2. Xyz_prg.mde mit den Progs, Forms, Reports usw. mit Verknüpfungen
auf die Tabellen in DB 1 (Xyz_Dat.mdb)
Ich möchte nun, dass der Benutzer die Daten in (evtl. nur einzelnen)
Tabelle(n)
der DB Nr 1 (Xyz_Dat.mdb) nicht verändern, sondern nur noch via
Xyz_prg.mde
auslesen kann.
Wie ich das in der DB2 (Xyz_prg.mde) zu erledigen habe ist klar.
Ich möchte aber auch, dass der Benutzer die Daten auch dann nicht
verändern
kann, wenn er die DB1 (Xyz_Dat.mdb) direkt zu bearbeiten versucht.
Die einfachste Möglichkeit, die genau mein Ziel erreicht, wäre wenn
ich das Attribut "Schreibgeschützt" der Datei Xyz_Dat.mdb auf Wahr
setzen würde.
1. Es sind alle Tabellen der DB gesperrt, was sich dadurch
verhindern liesse,
wenn ich "Xyz_Dat.mdb" in zu sperrende und nicht zu sperrende
Tabellen aufteilen würde.
2. Nachteil: Für den User ist es etwas gar einfach dieses Attribut
wieder
aufzuheben.
3. Ich weiss nicht, wie man dieses Datei-Attribut aus access-vba
heraus aktivieren könnte. (Wie war das gute alte MS-DOS noch
paradiesisch)
BS: Win XP und Win 98 (FAT32)
Access: 2K
Werf mal einen Blick auf die Access-FAQ Punkt 1.18
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com
Sascha Wostmann
2004-05-20 10:34:31 UTC
Permalink
Post by Ernst Rutz
Ich habe 2 Datenbanken
1. Xyz_Dat.mdb mit den Tabellen
=Backend (BE)
Post by Ernst Rutz
2. Xyz_prg.mde mit den Progs, Forms, Reports usw. mit Verknüpfungen
auf die Tabellen in DB 1 (Xyz_Dat.mdb)
=Frontend (FE)
Post by Ernst Rutz
Ich möchte nun, dass der Benutzer die Daten in (evtl. nur einzelnen)
Tabelle(n) der DB Nr 1 (Xyz_Dat.mdb) nicht verändern, sondern nur noch via
Xyz_prg.mde auslesen kann.
Wie ich das in der DB2 (Xyz_prg.mde) zu erledigen habe ist klar.
Ich möchte aber auch, dass der Benutzer die Daten auch dann nicht
verändern kann, wenn er die DB1 (Xyz_Dat.mdb) direkt zu bearbeiten versucht.
benutze das Access-eigene Sicherheitssystem mit Benutzer und
Anmeldung. Dann erstellst Du einen neuen Benutzer, der als Besitzer
aller Tabellen des BE eingetragen wird.

Der Benutzer "Administrator" bekommt die Schreibrechte an den Readonly
Tabellen entzogen.
Post by Ernst Rutz
Die einfachste Möglichkeit, die genau mein Ziel erreicht, wäre wenn
ich das Attribut "Schreibgeschützt" der Datei Xyz_Dat.mdb auf Wahr
setzen würde.
vergiss es.

Obwohl: was gehen könnte wären zwei BE, eine mit Schreibschutz und
eine ohne.
Post by Ernst Rutz
2. Nachteil: Für den User ist es etwas gar einfach dieses Attribut
wieder aufzuheben.
Wo liegt denn das BE? Wenn es auf einem Server ist, kann nicht jeder
User an den Flags drehen. Unter Linux u.dgl. z.B. setzt Du einfach den
Besitzer auf root und setzt die Rechte auf "-rwxr-xr-x". Da kann dann
kein User mehr was ändern.

Bei Windows-Servern sollte das ebenfalls möglich sein.

Viele Grüße,
Sascha Wostmann
--
wichtige Informationsquellen zu Access: +----------------------
http://www.donkarl.com/ (FAQ) | Bitte keine Kopien
http://www.freeaccess.de/ (KnowHow) | oder Access-Anfragen
http://www.google.de/ (Suchmaschine) | per E-Mail.
Loading...