Frage ist gelöstVBA Code beim drücken von Tastenkombination ausführen
30.01.2012
13:18:45 Uhr590 Aufrufe
5 Antworten
13:18:45 Uhr
5 Antworten
Noch nicht bewertet
Wie kann ich einen bestimmten Code in VBA beim betätigen von z.B. "Alt"+"f" ausführen lassen?
Hallo Zusammen
Ich möchte den Usern die Möglichkeit bieten, einen bestimmten Filter in Access per Tastenkombination (z.B. "Alt" + "f") setzen
zu können.
Wie kann ich die betätigte Tastenkombination abfragen?
Google hat mir leider nicht weiter geholfen.
Wir arbeiten mit Access 2010.
MfG Valume
Ich möchte den Usern die Möglichkeit bieten, einen bestimmten Filter in Access per Tastenkombination (z.B. "Alt" + "f") setzen
zu können.
Wie kann ich die betätigte Tastenkombination abfragen?
Google hat mir leider nicht weiter geholfen.
Wir arbeiten mit Access 2010.
MfG Valume
Valume91 schreibt am 30.01.2012 um 15:36:10 Uhr
Hi abaaba
Ja das schaut schonmal gut aus. Aber irgendwas mache ich wohl falsch.
Ich habe mal deinen Code genommen und für das ganze Formular gültig gemacht.
Funktioniert allerdings nicht. Wie kommst du eigentlich auf die Zahlen 70 und 4?
Ich habe ausserdem das Beispiel vom msdn probiert.
Hat bei mir auch nicht geklappt.
Was mache ich falsch?
Gruss Valume
Ja das schaut schonmal gut aus. Aber irgendwas mache ich wohl falsch.
Ich habe mal deinen Code genommen und für das ganze Formular gültig gemacht.
01.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 02.
If KeyCode = 70 And Shift = 4 Then MsgBox "ALT+f" 03.
End SubIch habe ausserdem das Beispiel vom msdn probiert.
Hat bei mir auch nicht geklappt.
Was mache ich falsch?
Gruss Valume
Logan000 schreibt am 30.01.2012 um 16:11:46 Uhr
Moin Moin
Daher dürfte das für deine Zwecke eher ungeeignet sein.
Versuchs lieber so: http://office.microsoft.com/de-ch/access- ...
Gruß L.
Wie kommst du eigentlich auf die Zahlen 70 und 4?
http://msdn.microsoft.com/de-de/library/0 ...Funktioniert allerdings nicht.
Eigentlich schon. Allerdings nur wenn das jeweilige Objekt auch den Focus hat.Daher dürfte das für deine Zwecke eher ungeeignet sein.
Versuchs lieber so: http://office.microsoft.com/de-ch/access- ...
Gruß L.
Zitat von Valume91:
Hi abaaba
Ja das schaut schonmal gut aus. Aber irgendwas mache ich wohl falsch.
Ich habe mal deinen Code genommen und für das ganze Formular gültig gemacht.
Funktioniert allerdings nicht.
Hi abaaba
Ja das schaut schonmal gut aus. Aber irgendwas mache ich wohl falsch.
Ich habe mal deinen Code genommen und für das ganze Formular gültig gemacht.
Funktioniert allerdings nicht.
Das KeyDown-Ereignis tritt bei Formularen nicht immer in Kraft. Aber genaueres, oder auch woran es liegt kann ich Dir leider nicht sagen.
Wie kommst du eigentlich auf die Zahlen 70 und 4?
Durch ausprobieren ;)
Aber in Deinem Link steht ja auch, wie man ohne ausprobieren an die Daten kommt:
<quote>
KeyCode A key code, such as vbKeyF1 (the F1 key) or vbKeyHome (the HOME key). To specify key codes, use the intrinsic constants shown in the Object Browser. You can prevent an object from receiving a keystroke by setting KeyCode to 0.
Shift The state of the SHIFT, CTRL, and ALT keys at the time of the event. If you need to test for the Shift argument, you can use one of the following intrinsic constants as bit masks:
Constant Description
acShiftMask The bit mask for the SHIFT key.
acCtrlMask The bit mask for the CTRL key.
acAltMask The bit mask for the ALT key.
</Quote>
Das heist die "KeyCodes" findest Du im ObjektKatalog (F2 in der Entwicklungsumgebung) und "Shift" ist eine der 3 o.g. Konstanten.
Ich habe ausserdem das Beispiel vom msdn probiert.
Hat bei mir auch nicht geklappt.
Was mache ich falsch?
<Quote>Hat bei mir auch nicht geklappt.
Was mache ich falsch?
To try the example, add the following event procedure to a form containing a text box named KeyHandler.
</Quote>
Ich wette das Du die Zeile ignoriert hast. ;)
Gruss Valume
>Eindeutlich die bessere Möglichkeit ;)











83928schreibt am 30.01.2012 um 14:02:29 Uhr83928schreibt am 30.01.2012 um 16:15:54 Uhr83928schreibt am 30.01.2012 um 16:13:12 Uhr