Cut&Paste unterbinden (Access 97)
Veröffentlicht am 06.02.2004
Frage:
Ich möchte in einigen Formularen verhindern, dass der Benutzer mit „Copy und Paste“ ganze Datensätze kopiert und einfügt – die Daten sollen immer Feld für Feld eingegeben werden, da daran gewisse Aktionen geknüpft sind. Wie kann ich das erreichen?
Antwort:
Bei solchen Dateneingaben würde ich Ihnen zunächst empfehlen, das Formular im Dialog-Modus zu öffnen, z.B.:
DoCmd.OpenForm „MyForm“, WindowMode:=acDialog
Auf diese Weise können Sie verhindern, daß die Menübefehle Kopieren und Einfügen ausgeführt werden können. Die Formular-Eigenschaft Kontextmenü sollten Sie auch auf „Nein“ setzen, damit diese Befehle nicht mit der rechten Maustaste erreichbar sind. Zuletzt sollten Sie auch die Tasten Strg+C, Strg+X und Strg+V abfangen und ggfs. ignorieren:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'es darf nicht aus der Zwischenablage
'eingefügt werden! Strg+V also ignorieren
If KeyCode = 86 Then KeyCode = 0
End Sub