Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Textbox invoer beperken.  (gelezen 11935 keer)

0 leden en 1 gast bekijken dit topic.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Textbox invoer beperken.
« Gepost op: 16 maart 2006, 18:09:51 »
Beste lezer(s)

Ik wil de invoer van een textbox beperken, ik heb tot nu toe wel de code voor alleen cijfers, maar nu wil ik ook ook nog het aantal cijfers beperken met 6 cijfers voor de komma en drie cijfers na de komma (123456,000) niet meer en niet minder.

Alvast bedankt.
Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Textbox invoer beperken.
« Reactie #1 Gepost op: 16 maart 2006, 19:30:47 »
Piet

Sub beperkcijfers()
    Dim str As String, komma As Integer
    str = ActiveCell.Value
    komma = InStr(1, str, ",")
    If komma <> 7 Or Len(str) <> 10 Then
        MsgBox "Voer een geldig getal in."
    End If
End Sub

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #2 Gepost op: 16 maart 2006, 19:50:14 »
Beste WG

Als ik deze code invoer dan krijg ik bij het eerste cijfer al de waarschuwing "voer geldig getal in"

Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re:Textbox invoer beperken.
« Reactie #3 Gepost op: 16 maart 2006, 20:33:48 »
dat laatste moet Len(str) > 10 zijn ipv <>

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #4 Gepost op: 16 maart 2006, 20:45:18 »
Dan nog krijg ik de msgbox na het invoeren van het eerste cijfer

Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re:Textbox invoer beperken.
« Reactie #5 Gepost op: 16 maart 2006, 21:02:01 »
Eh ja, natuurlijk :) stom van me, beetje te snel gereageerd... de originele code is goed, maar de controle mag pas gebeuren bij het verlaten van de textbox, niet bij het invoeren. Helaas weet'k niet goed wat de mogelijkheden zijn met VBA - misschien is er een validating-event van de textbox waar je dit in kan plaatsen?

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.190
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re:Textbox invoer beperken.
« Reactie #6 Gepost op: 16 maart 2006, 21:44:16 »
Ik ken niet veel van die code, maar zou je zo iets niet beter in een loop plaatsen, tot als aan de voorwaarde 123456,000 voldaan is?
De foutmelding kan dan gegenereerd worden bij een foutief getal na een Enter.

Nu zwijg ik maar.... ??? :-[ ;D

:) SoftAid :)
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Textbox invoer beperken.
« Reactie #7 Gepost op: 16 maart 2006, 21:45:42 »
Ik wil de invoer van een textbox beperken, ik heb tot nu toe wel de code voor alleen cijfers, ...

Zet mijn code bij die van jou en klaar is kees normaal gezien.

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #8 Gepost op: 17 maart 2006, 02:09:50 »
Hallo!!


Wat is het nu ??

Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Textbox invoer beperken.
« Reactie #9 Gepost op: 17 maart 2006, 09:00:32 »
Zoals ik al zei, kopieer mijn code bij die van jou. Dan zou het moeten werken. Is dit niet zo, post dan je eerdere code. Zo kunnen we niet veel helpen hé als we je code niet zien.

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #10 Gepost op: 17 maart 2006, 12:45:20 »
Hoi,

Sorry voor mijn korte reactie vannacht (biertje wezen drinken) dit is de code die ik probeer te gebruiken

Private Sub TextBox15_Change()
With Me.ActiveControl
        If Not IsNumeric(.Value) And .Value <> vbNullString Then
            MsgBox "Sorry, alleen cijfers toegestaan"
            .Value = vbNullString
        End If
    End With
     Dim str As String, komma As Integer
    str = ActiveCell.Value
    komma = InStr(1, str, ",")
    If komma <> 7 Or Len(str) < 10 Then
        MsgBox "Voer een geldig getal in."
    End If

End Sub

Groetjes
Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re:Textbox invoer beperken.
« Reactie #11 Gepost op: 17 maart 2006, 13:39:51 »
Wel, alles onder de 'end with' kan je niet gebruiken op die plaats...  bekijk het even: als er nog maar één letter ingevuld is, staat er geen komma op plaats 7 en verschilt de lengte sowieso van 10.

Zoals ik hierboven zei - wat je dus nodig hebt is niet enkel de Change event, maar ook de Validating event. Dat is een event dat aangeroepen wordt wanneer je de tekstbox verlaat (omdat je naar iets anders springt, maar ook vb wanneer je het programma wil verlaten), en je de kans geeft om de data te valideren en eventueel de gebruiker te verplichten om in de tekstbox te blijven.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #12 Gepost op: 17 maart 2006, 15:40:03 »
Kan je een  (werkend )voorbeeldje geven dan kan ik er mee aan de slag.
Voor heen had ik alleen de code boven end with, ik heb de andere code er gewoon even achter geplakt.

Groetjes
Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Textbox invoer beperken.
« Reactie #13 Gepost op: 17 maart 2006, 19:24:01 »
Piet

Test dit eens uit en rapporteer de resultaten.

Private Sub TextBox15_Change()
    Dim str As String, komma As Integer
    With Me.ActiveControl
    komma = InStr(1, .Value, ",")
        If Not IsNumeric(.Value) Or .Value = vbNullString Or komma <> 7 Or Len(str) < 10 Then
            MsgBox "Sorry, alleen cijfers toegestaan"
            .Value = vbNullString
        End If
    End With
End Sub

WG
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline naam

  • Lid
  • *
  • Berichten: 65
  • Oplossing.be
Re:Textbox invoer beperken.
« Reactie #14 Gepost op: 17 maart 2006, 19:53:51 »
Helaas nu krijg ik bij de eerste invoer "alleen cijfers invoeren"

 Piet
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com