Formularfeld: Inhalt nur sichtbar und veränderbar machen nach Kennworteingabe

01/07/2009 - 11:59 von Jo Bensel | Report spam
Access 2002

Hallo,
ich möchte gerne ein Formularfeld einbauen in dem "sensible" Daten
eingepflegt werden sollen. Der Inhalt dieses Feldes sollte für den
Normalbenutzer nicht sichtbar (oder ***) sein und nicht veràndert werden
können.
Benutzer die ein enstprechendes Kennwort kennen sollten beim Reinklicken
in das Feld nach dem Kennwort gefragt werden und sollten dann den Inhalt
sehen und bearbeiten können.

Gibt es dafür eine einfache Lösung?
Ich habe keine VBA-Kenntnisse.
In entsprechenden Access-Foren bzw. beim googlen habe ich leider keine
Lösung
gefunden.

Vielen Dank
Jo
 

Lesen sie die antworten

#1 Henry Habermacher
01/07/2009 - 12:25 | Warnen spam
Hallo Jo

Jo Bensel wrote:
ich möchte gerne ein Formularfeld einbauen in dem "sensible" Daten
eingepflegt werden sollen. Der Inhalt dieses Feldes sollte für den
Normalbenutzer nicht sichtbar (oder ***) sein und nicht veràndert werden
können.
Benutzer die ein enstprechendes Kennwort kennen sollten beim Reinklicken
in das Feld nach dem Kennwort gefragt werden und sollten dann den Inhalt
sehen und bearbeiten können.

Gibt es dafür eine einfache Lösung?
Ich habe keine VBA-Kenntnisse.
In entsprechenden Access-Foren bzw. beim googlen habe ich leider keine
Lösung
gefunden.



Ich weiss nicht, ob das ohne VBA einfach lösbar ist, per VBA wird es aber
nicht so kompliziert sein:

Beim Form_Current Ereignis schreibst Du:

Me!DeinFeld.InputMask = "Password"
Me!DeinFeld.Locked = True

Und dann beim Klicken Ereignis in das Feld

If InputBox("Passwort:", "Passwort für Eingabefreischaltung") = _
"DeinPasswort" Then
Me!DeinFeld.InputMask = ""
Me!DeinFeld.Locked = False
End If

Sobald der DAtensatz gewechselt wird, wird das Feld wieder versteckt. Bei
Endlosformularen werden die Felder der anderen Datensàtze ebenfalls
sichtbar, da dies für jede Formular Instanz des Endlosformulars gilt. Das
Passwort habe ich hier als "DeinPasswort" hardcodiert abgelegt. Du kannst
das auch z.B. in eine Tabelle ablegen und dann über

If InputBox("Passwort:", "Passwort für Eingabefreischaltung") = _
DLookup("DeinWert", "Steuerungstabelle", "DeineID='Passwort'") Then

Einlesen. Im Beispiel habe ich eine Tabelle [Steuerungstabelle] mit 2
Feldern ([DeinWErt], wo dann das Passwort abgelegt ist, sowie [DeineID],
über welches der Datensatz mit dem Passwort referenziert wird) angenommen.

Sind also nur wenige Zeilen Code. Keine Angst vor VBA, so kompliziert ist
das gar nicht.

HTH
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen