Ik heb een 6 tal textboxen, waarbij de laatste textbox de opsomming bevat van alle
waarden in van de voorgaande textboxen 1 tot en met 5, wat totaal uitkomt op 100%.
Nu is het echter zo dat de textboxen alleen de getallen 0 t/m 9 mogen bevatten, maar
dat er nog wel gewoon gereageerd moet worden op de tabkey om naar de volgende
textbox te gaan.
Zoals ik de code nu heb moet de textbox altijd al een getal bevatten omdat ik anders een
error krijg bij de opsomming in textbox 6. Dus heb ik hier standaard het getal 0 in staan.
Ook moet het mogelijk zijn om te klikken op het vak in de textbox en dat dan de tekst
automatisch geselecteerd wordt, dit ook bij het klikken van tab, hiervoor heb ik de
EnterFieldBehavior op select all gezet.
De code die ik momenteel heb is:
Ik heb momenteel problemen om de tab goed te laten werken en op het moment van
fout melding wanneer er een getal groter is ingevuld dan 100%. En je komt terug in
het tekstvak, dan is de tekst niet geselecteerd. Als je dan begint met tikken, dan
typ je achter de 0 aan. Ipv dat de 0 geselecteerd is en je overwrite hem dan.
Wie kan mij helpen om dit probleem op te lossen? Een ander idee dat ik had is om de
100% te kunnen verdelen over de tekstvakken, op het moment dat je de eerste 4
textboxen hebt ingevuld met 20%, dat dan automatisch textbox 5 ook 20% word.
Of op het moment dat je textbox1 hebt ingevuld met 20% en dan bij textbox2 80%
dat de rest dan ingevuld wordt met 0%.
Iemand een idee hoe ik dat kan bereiken?
Alvast vriendelijk bedankt!
Bekijk bijlage Textbox vraag.xls
waarden in van de voorgaande textboxen 1 tot en met 5, wat totaal uitkomt op 100%.

Nu is het echter zo dat de textboxen alleen de getallen 0 t/m 9 mogen bevatten, maar
dat er nog wel gewoon gereageerd moet worden op de tabkey om naar de volgende
textbox te gaan.
Zoals ik de code nu heb moet de textbox altijd al een getal bevatten omdat ik anders een
error krijg bij de opsomming in textbox 6. Dus heb ik hier standaard het getal 0 in staan.
Ook moet het mogelijk zijn om te klikken op het vak in de textbox en dat dan de tekst
automatisch geselecteerd wordt, dit ook bij het klikken van tab, hiervoor heb ik de
EnterFieldBehavior op select all gezet.
De code die ik momenteel heb is:
Code:
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Private Sub TextBox1_Change()
If IsNumeric(TextBox1.Text) = False Then TextBox1.Text = ""
'// if text isnt numbers then it wont get displayed.
If Val(TextBox1.Text) > 100 Then
MsgBox "Dimensie kan niet hoger gewaardeerd worden dan 100%", vbCritical
TextBox1.Text = "0"
End If
EnteredText = TextBox1.Value
NumberOfCharacters = Len(EnteredText)
If Right(EnteredText, 1) = Chr(9) Then
TextBox1.Value = Left(EnteredText, NumberOfCharacters - 1)
TextBox2.Activate
End If
TextBox1.MaxLength = 3
If TextBox1.Value = "" Then TextBox1.Value = "0"
If TextBox2.Value = "" Then TextBox2.Value = "0"
If TextBox3.Value = "" Then TextBox3.Value = "0"
If TextBox4.Value = "" Then TextBox4.Value = "0"
If TextBox5.Value = "" Then TextBox5.Value = "0"
TextBox6.Value = CDbl(TextBox1.Value) + CDbl(TextBox2.Value) + CDbl(TextBox3.Value) + CDbl(TextBox4.Value) + CDbl(TextBox5.Value)
End Sub
Ik heb momenteel problemen om de tab goed te laten werken en op het moment van
fout melding wanneer er een getal groter is ingevuld dan 100%. En je komt terug in
het tekstvak, dan is de tekst niet geselecteerd. Als je dan begint met tikken, dan
typ je achter de 0 aan. Ipv dat de 0 geselecteerd is en je overwrite hem dan.
Wie kan mij helpen om dit probleem op te lossen? Een ander idee dat ik had is om de
100% te kunnen verdelen over de tekstvakken, op het moment dat je de eerste 4
textboxen hebt ingevuld met 20%, dat dan automatisch textbox 5 ook 20% word.
Of op het moment dat je textbox1 hebt ingevuld met 20% en dan bij textbox2 80%
dat de rest dan ingevuld wordt met 0%.
Iemand een idee hoe ik dat kan bereiken?
Alvast vriendelijk bedankt!
Bekijk bijlage Textbox vraag.xls
Laatst bewerkt: