Banal? Focus nach Seitenwechsel mit VBA vs. Makro

30/07/2009 - 16:22 von Fred Weber | Report spam
Hallo NG,
ich habe eine kleine Anwendung zur Darstellung von Daten in
Fragebogenseiten. Sie besteht aus einem "Rahmen"-Formular mit Unterformular.
In dieses Unterformular werden die einzelnen Fragebogenseiten als UFo's
eingeblendet.

Der Seitenwechsel soll über Tastatur erfolgen (z.B. F2 = eine Seite zurück,
F3 = eine Seite vor). Bisher habe ich das über das KeyDown-Ereignis der
UFo's realisiert, das eine kleine VBA-Routine zum Aus- und Einblenden der
UFo's startet.
Nach dem Einblenden einer neuen Seite soll der Focus im ersten Feld landen.
Bisher kein Problem, alles klappt.

Damit die Formulare leichter wartbar werden und nicht in jedem der gleiche
Codeballast steht, möchte ich diese Funktion nun vom AutoKeys-Makro
übernehmen lassen, d.h., F2 und F3 werden fest im Makro verdrahtet, von dort
wird dann die gleiche VBA-Routine gestartet wie oben.
Jetzt das Problem: Der Focus ist (scheinbar) weg. Die neue Seite wird
angezeigt, aber kein Feld hat den Focus. Man muss nachhelfen, z.B. mit
ALT-TAB einmal weg- und wieder hinschalten oder mit der rechten Maustaste in
den Detailbereich klicken, einfach nur irgendwas tun. Dann fàngt der Cursor
brav im ersten Feld zu blinkern an; er ist also wohl da, aber "nicht ganz".

Kennt jemand dieses Verhalten und kann mir sagen, wie ich den Cursor zum
"blinkern" bringe?
Mit SetFocus auf erstes Feld, Ufo und Rahmenformular hab ichs versucht,
jetzt fehlen die Ideen.

Danke + Gruß
Fred
 

Lesen sie die antworten

#1 Peter Doering
30/07/2009 - 17:29 | Warnen spam
Hallo,

Fred Weber wrote:

ich habe eine kleine Anwendung zur Darstellung von Daten in
Fragebogenseiten. Sie besteht aus einem "Rahmen"-Formular mit Unterformular.
In dieses Unterformular werden die einzelnen Fragebogenseiten als UFo's
eingeblendet.

Der Seitenwechsel soll über Tastatur erfolgen (z.B. F2 = eine Seite zurück,
F3 = eine Seite vor). Bisher habe ich das über das KeyDown-Ereignis der
UFo's realisiert, das eine kleine VBA-Routine zum Aus- und Einblenden der
UFo's startet.
Nach dem Einblenden einer neuen Seite soll der Focus im ersten Feld landen.
Bisher kein Problem, alles klappt.

Damit die Formulare leichter wartbar werden und nicht in jedem der gleiche
Codeballast steht, möchte ich diese Funktion nun vom AutoKeys-Makro
übernehmen lassen, d.h., F2 und F3 werden fest im Makro verdrahtet, von dort
wird dann die gleiche VBA-Routine gestartet wie oben.

Jetzt das Problem: Der Focus ist (scheinbar) weg. Die neue Seite wird
angezeigt, aber kein Feld hat den Focus. Man muss nachhelfen, z.B. mit
ALT-TAB einmal weg- und wieder hinschalten oder mit der rechten Maustaste in
den Detailbereich klicken, einfach nur irgendwas tun. Dann fàngt der Cursor
brav im ersten Feld zu blinkern an; er ist also wohl da, aber "nicht ganz".

Kennt jemand dieses Verhalten und kann mir sagen, wie ich den Cursor zum
"blinkern" bringe?
Mit SetFocus auf erstes Feld, Ufo und Rahmenformular hab ichs versucht,
jetzt fehlen die Ideen.



Zeig mal den Code, speziell die SetFocus-Versuche.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen