Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Rechteverteilung: Schreiben: ja // Lesen: nein





Frage

Hallo, ich erstelle derzeit eine Access Datenbank, in welche ein normaler Benutzer lediglich Daten einspeisen können soll. Die schon vorhandenen Datensätze sind nur von einem Admin zu lesen. Ich habe derzeit eine Tabelle, und damit verknüpft 2 Formulare, eins zum Betrachten der Datensätze und eines zur Eingabe. Verteile ich die Berechtigungen so, dass die Tabelle, in der die Daten stehen vom Benutzer nicht gelesen werden kann, so bekomme ich beim Öffnen des Formulars zur Eingabe einen Fehler, da die mit der Tabelle verknüpften Felder nicht initialisiert werden konnten. Nun meine Frage: Ist es möglich, über ein VB-Script oder mit der Rechteverteilung mein Problem zu lösen? Für eine Antwort danke im Voraus.

Antwort 1 von ElBobbele

Hallo Michael!

Wer Daten erfassen will, muss auf Tabellenebene auch die Tabellen lesen können, da führt kein Weg dran vorbei. Die Manipulation der Rechte ist deswegen keine Lösung.

Du solltest stattdessen ein paar Eigenschaften des Eingabeformulars ändern:


Bearbeiten zulassen:    Nein
Löschen zulassen:       Nein
Anfügen zulassen:       Ja
Daten eingeben:         Ja

Nach Aktualisierung:    [Ereignisprozedur]


Nach der Speicherung führst du ein Requery aus, dann werden alte Datensätze nicht mehr angezeigt. Deswegen sollte das Ereignis "Nach Aktaulisierung" so aussehen:


Private Sub Form_AfterUpdate()
    Me.Requery
End Sub


Gruss
El Bobbele

Antwort 2 von michael3

Hallo und Danke für die schnelle Antwort.

Dennoch habe ich nun noch ein Problem.
Der "normale" User kann dennoch die Inhalte der Tabelle ansehen, zwar nicht über das Formular, aber über die Tabelle selbst.

Ist Access für meine Zwecke ungeeignet, wenn eben diese Daten nicht zugänglich sein sollen?



Kann ich also die Tabelle nicht so einrichten, dass ich schreiben, aber nicht lesen/sehen kann? (okay, diese Frage ist eigentlich schon beantwortet, aber die Problemstellung habe doch sicherlich nicht nur ich :-) )

Antwort 3 von michael3

Hallo nochmal,

für alle die ein ähnliches Problem haben, ich habe das Problem nun bei mir gelöst.

Folgendes habe ich umgestellt, einmal die Einstellungen von El Bobbele, zum anderen habe ich die Datenbank über die Start .. - optionen noch soweit begrenzt, dass nur die Eingabemaske angezeigt wird.
Das Umgehen der Startoptionen habe ich über das setzen des AllowBypassKey - Werts auf "False" verhindert.
Dies gilt für den Administrator, sowie für den normalen User.
Im Formular Eingabe gibt es einen Button, der das Ansicht - Formular aufruft, welches eine Ansicht aller Datensätze zulässt.
Da nur der Admin dieses Formular einsehen kann (festgelegt in den Zugriffsoptionen), sind die Daten vor unberechtigten Zugriffen geschützt.
Die Tabelle an sich ist nicht mehr öffenbar, Änderungen an bereits vorhandenen Datensätzen sind nur über das "Ansicht"-Formular möglich.
Um im Nachhinein noch Änderungen am Setup zuzulassen, gibt es auf dem "Ansicht" Formular noch 2 Buttons, einmal zum sperren und einmal zum freigeben der Möglichkeit, die Startoptionen (mit Shift) zu umgehen.