Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Probleme mit SetFocus in UserForm

Begonnen von Pergus, Mai 15, 2014, 13:38:50

⏪ vorheriges - nächstes ⏩

Pergus

Hallo Excel-Guru's,

in einer UserForm (Ufrm) habe ich 4 TextBoxen (tbx1, tbx2, tbx3 und tbx4) und 2 CommandButtons (cbAbbrechen und cbOk).
die tbx2 bis...4 werden bei Initialisierung der UserForm ausgeblenden mit
Private Sub UserForm_Initialize()
Ufrm.tbx2.Visible = False
Ufrm.tbx3.Visible = False
Ufrm.tbx4.Visible = False
End Sub

Nach Eingabe des Benutzers in tbx1 soll die tbx2 wieder eingeblendet werden und der Focus drauf gesetzt werden mit
Private Sub tbx1_AfterUpdate()
Ufrm.tbx2.Visible = True
Ufrm.tbx2.SetFocus
End Sub

Genauso soll es bei Eingabe in die tbx2, ...3 und bei Eingabe in tbx4 soll der CommandButton cbOk den Focus erhalten.
Jedoch wird der Focus auf das CommandButton cbAbbrechen gesetzt.
Die Aktivierreihenfolge ist wiefolgt:
tbx1
tbx2
tbx3
tbx4
cbOk
cbAbbrechen
Weiß jemand bitte Rat?

Ich bedanke mich schon mal im Voraus für Eure Hilfe!  :)
Lg, Gustav
Win7, Office Professional 2010

Pergus

Win7, Office Professional 2010

Hondo

Hallo,
Du musst zuerst den Focus auf das Unterformular setzen, danach auf das Formular
Ufrm.setfocus
cbOk.setfocus

Andreas

Pergus

Hallo Andreas,

danke für Deine Antwort, aber dieses Problem habe ich in einem Excel-UserForm, da habe ich kein Unterformular  ;)
Lg, Gustav
Win7, Office Professional 2010

Hondo

Ach Ufrm heißt bei dir Userform...
Dann sollte einfach ein .setfocus das Problem beheben.

Pergus

...das habe ich gemacht, doch es funktioniert leider nicht.
Anstatt den .setfocus auf die TextBox (tbx2) zu setzen, wird der Focus auf den CommandButton (cbAbbrechen) gesetzt, der in der Aktivierreihenfolge an letzter Stelle steht.
Win7, Office Professional 2010

Hondo


Pergus

Win7, Office Professional 2010

Pergus

Ich versuche mein Problem nochmals zu erläutern:

In einer Excel-Userform [Ufrm] soll der Benutzer in 4 Texboxen ([tbx1], [tbx2], [tbx3] und [tbx4]) nacheinander Eingaben tätigen.
Darum werden die Textboxen [tbx2], [tbx3] und [tbx4] vorerst (und zwar beim Intialisieren der Excel-Userform Ufrm) ausgeblendet.
Nach Eingabe des Benutzers in die Textbox [tbx1] soll die 2.Textbox [tbx2] eingeblendet werden und der Focus darauf gesetzt werden. Dasselbe soll bei den restlichen Textboxen ebenfalls passieren, wobei bei der 4.Textbox der Focus auf den CommandButton [cbOk)] gesetzt werden soll.
Die Aktivierreihenfolge ist wiefolgt:
[tbx1]
[tbx2]
[tbx3]
[tbx4]
[cbOk]
[cbAbbrechen]

Hoffe die Problemstellung einigermaßen verständlich erläutert zu haben!
Im Zweifelsfall einfach nachfragen  ;)
Win7, Office Professional 2010

Pergus

...scheints ist diese Problematik doch nicht so einfach.
Hat niemand 'ne Ahnung?
Win7, Office Professional 2010

DF6GL

Hallo,

kannst Du die Excel-Datei mal hier hochladen?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Pergus

...gerne, bedarf aber noch einiger "Feinarbeit"  ;)
Win7, Office Professional 2010

Hondo

Das Problem ist dass die Textfelder unsichtbar sind, und somit keinen Focus erhalten automatisch.
Lösung: mache alle Textfelder sichtbar. Dann benötigst du auch kein SetFocus wenn du die Aktivierungsreihenfolge einstellst.

Gruß Andreas

Pergus

...ist es denn nicht möglich, nachdem die einzelnen Textfelder wieder sichtbar sind, den Focus darauf zu setzen?
Ich hatte sie vorher alle sichtbar, funktionierte auch einwandfrei, allerdings kam jetzt der Vorschlag, die Textfelder einzeln einzublenden. Seitdem komme ich mit dem .setfocus nicht mehr weiter...  :(
Win7, Office Professional 2010

Hondo

Hallo,
also wenn dir das so wichtig ist dann überdecke die Textfelder einfach mit einem Bezeichnungsfeld und im After Update veränderst du größe und höhe des Bezeichnungsfeld.
Ich hab das mal für dich gemacht...