Copy and Paste verhindern (Access 97, 2000)
Veröffentlicht am 30.12.2003
Frage:
Ich möchte in einigen Formularen verhindern, dass der Benutzer mit „Copy and 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, dass 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