Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensatzsperre über Tabelleneintrag - Access 2000





Frage

Hallo Zusammen, eine für viele wahrscheinlich unkomplizierte Sache: Ich möchte meine Datenbank für einige Personen nur das Recht geben, sie zu lesen. Diese Rechte werden in einer "Benutzertabelle" vergeben. Datensätze für alle kann ich ja mit Me.AllowEdits sperren. Aber was muss ich eingeben, damit mein Datensatz sich mit der Tabelle abgleichen kann (Ja/Nein-Felder). Wäre für Eure Hilfe sehr dankbar. Gruß Franz

Antwort 1 von piano

Hallo
Was verstehst du unter:
Zitat:
damit mein Datensatz sich mit der Tabelle abgleichen kann (Ja/Nein-Felder) ?

Gruß piano

Antwort 2 von RalfH

Hallo Nixweiß,

Wenn Du ein wenig VBA kannst, würd ich Dir ne Select Case Prozedur vorschlagen, in der Du z.B. Kennwörter an Personen vergibst, die dann durch die Select Case abfrage verschiedene Berechtigungen vergeben kannst.
Gruß Ralf

Antwort 3 von Nixweiß

Hallo Ralf,

ich habe ein Startdokument eingefügt, in dem der Nachname sowie ein dazugehöriges Passwort vergeben wird.

Könntest Du mir vielleicht das noch etwas erklären, was ich eingeben muss, wenn ich z.B. einen Datensatz vor Änderungen eines (Nicht)-Berechtigten - also, der darf zwar in die Datenbank aber eben nur lesen - schützen möchte.

Besten Dank schon mal.

Gruß

Franz

Antwort 4 von RalfH

Hallo weisnix,

Habt das selbst zwar noch nicht gemacht, aber probieren geht über studieren, gelle?

Ich würde mir das so vorstellen das beim öffnen eines Formulars das Kennwort abgefragt wird, und dann eben die Daten-Eigenschaft des Formulars entsprechend gesteuert wird, z.B:

Dim a As String
Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb

a = InputBox("Bitte geben Sie das Kennwort ein")

If a = "Schattenparker" = True Then
Set rst = db.OpenRecordset("tblMitarbeiter", dbOpenDynaset)

Else
Set rst = db.OpenRecordset("tblMitarbeiter", dbOpenSnapshot)
End If

Gruß Ralf

Antwort 5 von piano

Hallo
Etwas leichter und variabler zu verwalten wäre folgende zu AW 4 erweiterte Methode:
Beim Ereignis "Formular Öffnen" den Code z.Bsp.

Private Sub Form_Open(Cancel As Integer)
If BenutzerName= "Schattenparker"
    Me.GesperrtesFeld.Locked = True
Else
    Me.GesperrtesFeld.Locked = False
End If 
End Sub

Hier kannst du feldweise entscheiden, ob Bearbeitung erlaubt ist oder nicht.

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -