Ik ben met een userform bezig waar ik door middel van autotab naar het volgende scherm wil. Nu heb ik een postcodeveld. De letters moeten dus in hoofdletters. het probleem is dat als ik dus de shift ingedrukt hou en ik vul de letters in dan gaat hij dmv autotab naar het vorige veld. In principe is dit een windowsgrap, maar ik vroeg me af of ik dit in vba kon uitschakelen zodat ik gewoon met shift de letters van de postcode kan invullen en toch automatisch naar het volgende veld kan springen. Kan ook autotab uitschakelen natuurlijk, maar daar ben ik niet zo'n voorstander van.
Tegenwoordig schijnt er een property InputMask te zijn. Ik kan die zo snel niet vinden in mijn Word 2000.
Er schijnt ook een speciale "Masked Edit Control" of "Masked Text Box" te zijn. Deze kan ik ook niet vinden.
Je kan ook zelf de autotab doen:
Er schijnt ook een speciale "Masked Edit Control" of "Masked Text Box" te zijn. Deze kan ik ook niet vinden.
Je kan ook zelf de autotab doen:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
| Private Sub TextBox1_Change() If TextBox1.TextLength >= TextBox1.MaxLength Then With TextBox2 .SetFocus .SelStart = 0 .SelLength = .TextLength End With End If End Sub |
[ Voor 20% gewijzigd door Daos op 07-02-2005 23:44 ]
Je zou natuurlijk capslock kunnen gebruiken voor het invoeren, maar makkeliker lijkt mij om automatisch de letters uppercase te maken. In dat geval hoef je bij het invoeren de shift niet eens in te drukken. Dat lijkt mij een slimmere oplossing voor dit probleem.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Maak de tab-index precies omgekeerd, dan heb je het door jou gewenste resultaat.
edit:
Sorry, laat maar... Had je vraag verkeerd begrepen.
Makkelijkste lijkt mij toch auto-tab uit te zetten. Persoonlijk ben ik daar toch niet zo'n voorstander van.
Sorry, laat maar... Had je vraag verkeerd begrepen.
Makkelijkste lijkt mij toch auto-tab uit te zetten. Persoonlijk ben ik daar toch niet zo'n voorstander van.
[ Voor 53% gewijzigd door akakiwi op 08-02-2005 09:28 ]
| Life is a game (and games are fun) | homepage |
tabindex omdraaien is geen optie omdat dan de volgorde verkeerd is. Automatisch Upcase maken werkt wel, alleen de meeste mensen zijn gewend hoofdletters te tikken. Ik zal die handmatige autotab er eens in zetten, ik denk dat dat redelijk ideaal is 
/edit:
ik heb met onderstaande code de oplossing gevonden. Had ik zelf ook wel kunnen bedenken..helaas kwam ik er niet op..soms kan je ook wel eens TE moeilijk denken
bedankt mensen
Private Sub TextBox1_Change()
If TextBox1.TextLength >= TextBox1.MaxLength Then
With TextBox2
.SetFocus
/edit:
ik heb met onderstaande code de oplossing gevonden. Had ik zelf ook wel kunnen bedenken..helaas kwam ik er niet op..soms kan je ook wel eens TE moeilijk denken
bedankt mensen
Private Sub TextBox1_Change()
If TextBox1.TextLength >= TextBox1.MaxLength Then
With TextBox2
.SetFocus
[ Voor 41% gewijzigd door Verwijderd op 09-02-2005 11:45 ]