Controllo textbox contenente una data

di il
3 risposte

Controllo textbox contenente una data

Ciao,
in una textbox l'utente deve inserire una data. A me serve un controllo che permetta di riconoscere se la textbox contiene un valore data.

Il codice che ho scritto è:

If Not IsDate(TextBox1.Text) Then
MsgBox("Non è una data")
Else
MsgBox("E' una data")
End If

però mi dà il messaggio "Non è una data" solo se nella textbox vengono inseriti soltanto numeri o lettere, se invece scrivo ad esempio 125/11 o 12/111 me la prende come data.
Come posso fare in modo che inserendo i valori degli esempi non li riconosca come una data?

3 Risposte

  • Re: Controllo textbox contenente una data

    Salve.
    Io proverei ad integrare nella funzione
    IsDate()
    una conversione al tipo Data, altrimenti cosa controlla? solo il contenuto di una TextBox...

    Quindi, prova:

    If Not IsDate(CDate(TextBox1.Text)) Then
    ...
    ...

    Facci sapere.
    Saluti.
  • Re: Controllo textbox contenente una data

    Penso che "CDate" serva come "cstr" e "val" e quindi inserire il contenuto di una textbox in una variabile data. Così come lo vorresti usare tu mi trasforma qualsiasi numero in data
  • Re: Controllo textbox contenente una data

    Si, hai ragione, ma in effetti, facendo alcune prove, se metti anche un
    msgbox(cdate(TextBox1.Text))
    e inserisci nella textbox gli esempi che hai scritto:
    125/11 ---> lo 'vede' come se fosse: 01/11/125 (è la vede come data buona, perchè IsDate() ha un range che parte dal 01/01/100 e così anche per
    12/111 lo vede ---> 01/12/111 - per dirti se proverai a mettere 12/99 sarà ---> 01/12/1999 !!!
    Io in genere faccio con dei controlli/funzione fatti da me, del tipo:
    es. la tua data ideale ha la seguente forma:
    gg/mm/aaaa
    inizierai con un controllo del tipo:
    - sono 10 caratteri ? ---> NO Data NON Valida
    SI (prosegui)
    - i primi 2 a sinistra sono un numero compatibile con il N° giorni del mese...?
    ....
    - i posti relativi alle posizioni del mese (4 e 5) - è un N tra 1 e 12...?!
    - le ultime 4 cifre è un numero compatibile ad un anno che ti aspetti ??!!
    e così via...
    Saluti
Devi accedere o registrarti per scrivere nel forum
3 risposte