Kann ich Strg + A in Access 2007 deaktivieren?

4306
Johan

Ich möchte den Befehl Ctrl+ A(Alles auswählen) in Access 2007 deaktivieren . Ist das möglich?

3

5 Antworten auf die Frage

5
subman

Sie können diesen Code in Access verwenden, um ihn CTRLabzufangen Aund zu ignorieren. Der Nachteil ist, dass Sie dies zu jedem Formular hinzufügen müssen, das Sie blockieren möchten. (die den Kopf: Sie müssen nicht haben, um jede Form zu blockieren)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyA And Shift = acCtrlMask Then 'Catch Ctrl+A KeyCode = 0 'Suppress keypress  End If End Sub 

Fügen Sie dies dem Form > On Key DownEreignis hinzu

WICHTIG: Scrollen Sie zum Ende der Ereignisliste und ändern Sie sie Key Previewauf Ja .

2
David W. Fenton

Erstellen Sie ein Makro mit dem Namen AutoKeys. Geben Sie in der ersten Spalte ^ A ein und in der zweiten Spalte Beep aus der Dropdown-Liste. Dies führt zu einem Signalton, wenn auf eine beliebige Stelle in Ihrer App ^ A gedrückt wird.

Wenn Sie absolut nichts tun möchten (dh keinen BEEP), müssen Sie eine aufrufende Funktion schreiben, die nichts bewirkt, und diese Funktion mit der Aktion RunCode aufrufen.

Wenn Sie es in bestimmten Kontexten zulassen möchten und nicht in anderen, müssen Sie dafür komplizierteren Code schreiben. Ich bin nicht ganz sicher, wie dieser Code aussehen würde, da er einige interessante Probleme aufwirft.

Und das ist natürlich eine StackOverflow-Frage ...

(ehrlich gesagt, ich glaube, die ganze Frage gehörte von da an die ganze Zeit über, da die Antworten entweder das Schreiben von Codes erfordern oder etwas Code-artiges, dh ein Makro, erstellen)

1
Phoshi
#IfWinActive, ahk_class OMain ^a::Return #IfWinActive 

In der Autohotkey- Automatisierungssprache.

Alternative:

#IfWinActive, ahk_class OMain ^a::MsgBox, Oh god oh god we're all going to die #IfWinActive 
Wo gebe ich diesen Code ein? Johan vor 14 Jahren 0
Installieren Sie autohotkey und erstellen Sie eine Datei mit der Erweiterung `.ahk`. Führen Sie diese Datei aus (setzen Sie sie für beste Ergebnisse in den Startup-Modus) und versuchen Sie es mit a) :) Phoshi vor 14 Jahren 0
Hört sich etwas zu kompliziert an. Die Datenbank sollte auf verschiedenen Computern funktionieren. Installieren Sie daher etwas anderes als nur den Zugriff. Danke trotzdem. Johan vor 14 Jahren 1
Sie können ahk-Skripte kompilieren, um zu funktionieren, ohne etwas installieren zu müssen, was zumindest weniger lästig ist. Ich glaube nicht, dass Sie eine einfachere Option finden werden, aber geben Sie die Hoffnung nicht auf :) Phoshi vor 14 Jahren 0
0
ChrisF

Ich glaube nicht Diese Tastenkombination ist in den meisten Paketen (nicht nur in MS-Paketen) gleich und wird auf einer relativ einfachen Ebene definiert.

Natürlich kommt hier jemand anderes rein und hat mich als falsch erwiesen

0
user43308

Mit dem folgenden Code wird der gesamte Text in einem Textfeld oder Kombinationsfeld ausgewählt (anstatt die gesamte Tabelle auszuwählen).

Verwenden Sie diesen Code im KeyDown-Ereignis des Formulars, und vergessen Sie nicht, die Eigenschaft "Schlüsselvorschau" in den Formaleigenschaften des Ereignisses auf "Ja" zu setzen (andernfalls wird das Keydown-Ereignis für STRG + A nicht ausgelöst).

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyA And Shift = acCtrlMask Then If TypeOf Me.ActiveControl Is TextBox Then Dim txt As TextBox Set txt = Me.ActiveControl txt.SelStart = 0 txt.SelLength = Len(txt.text) ElseIf TypeOf Me.ActiveControl Is ComboBox Then Dim cmb As ComboBox Set cmb = Me.ActiveControl cmb.SelStart = 0 cmb.SelLength = Len(cmb.text) End If KeyCode = 0 ' Cancel the default action (of selecting the entire table) End If End Sub