• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Textbox alleen numerieke waarden toevoegen maar toch gebruik maken van de Tabkey

Status
Niet open voor verdere reacties.

Maurush

Gebruiker
Lid geworden
23 feb 2011
Berichten
14
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%.

rig7qu.jpg


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:
Je bestandje uploaden en je verhaal is compleet Maurush.
 
Laatst bewerkt:
Je bestandje uploaden en je verhaal is compleet Maurush.

Ik zal er een apart bestandje van maken, maakt onderdeel uit van een groter bestand.
Zou mooi zijn als ik er vandaag antwoord op kan vinden, maakt deel uit van mijn afstuderen :cool:
 
Bij deze het bestand upgeload, zie begin post!

Alvast bedankt
 
Iemand die mij kan helpen? Of er mee bezig is, laat het even weten.

Alvast bedankt!
 
Als je tevreden bent met een Enter ipv een Tab heb ik misschien wel iets voor je.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan