+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Conversioni involontarie di date

  1. #1
    jos
    jos non è in linea Scolaretto
    Post
    54

    Conversioni involontarie di date

    Cari amici in VBA ho riscontrato questo problema (Sia in Excel che P.Point):

    Ho un form con due text box in cui l'utente inserisce una data di inizio ed una di fine per certe elaborazioni, poi con il codice memorizzo il valore delle text box in due variabili dichiarate "as date" e fin qui nulla di trascendentale.

    Public Data_inizio as date
    Public Data_fine as date
    ...
    Data_inizio = Cdate(Txt_inizio.Text)
    Data_fine = Cdate(Txt_fine.Text)
    ...

    Il problema sorge quando scopro che senza apparentemente una regola, Vba inverte il mese con il giorno (sistema standard) e quindi il 08/07/2006 diventa nella variabile 07/08/2006 con le conseguenze che potete immaginare, ma in certi casi questa conversione non avviene (anche quando invertendo la data sarebbe comunque valida) e non capisco perchè...

    Sto andando al manicomio, che posso fare?

  2. #2
    marco86 non è in linea Scolaretto
    Post
    406
    Ciao..penso dipenda dal formato anglosassone anzichè europeo: o togli i "cdate" dal codice oppure devi ricorrere ad una routine che ti "giri" e scambi la data con il giorno, per esempio:

    codice:
    Data_inizio = Cdate(Txt_inizio.Text)
    Data_fine = Cdate(Txt_fine.Text)
    giorno = Mid(data_inizio.Text, 4, 2)
    mese = Left(data_inizio.Text, 1, 2)
    anno = Right(data_inizio.Text, 4)
    data_inizio.Text = giorno & "/" & mese & "/" & anno
    ciao

  3. #3
    jos
    jos non è in linea Scolaretto
    Post
    54
    Ho subito pensato a fare una cosa del genere, il fatto assurdo è che ho invertito nella stringa il mese con l'anno e quando associo alla variabile formato "as date" il testo della Text box, prende per buona la data:

    (Primo luglio 2006): 01/07/2006
    inverto la stringa e diventa:
    (Sette gennaio 2006) 07/01/2006

    la passo alla variabile "as date" sperando che la rigiri
    e invece mi dice che il mese è Gennaio:
    Print Format(data,"mm") nella finestra immediata
    Quindi mi dico vuoi vedere che se rimetto a posto mese e giorno ....

    Infatti improvvisamente ha cominciato a convertire correttamente la data.

    Per non impazzire, ho aperto il file di ieri sera, perchè ho pensato di aver cambiato
    qualcosa nel codice questa mattina e quindi ho riprovato la stessa Macro che ieri
    per tutta la giornata mi convertiva male le date e .... ora funziona.

    Mistero della fede!!! Vorrei capire in che modo è successo.
    (Il codice è lo stesso di ieri)

+ Rispondi al Thread

Discussioni simili

  1. Differenza tra date
    Da white nel forum Microsoft Office, Access, VBA
    Risposte: 5
    Ultimo Post: 21-10-2006, 07:59
  2. Query avente come parametri date
    Da mistral nel forum Microsoft Office, Access, VBA
    Risposte: 7
    Ultimo Post: 19-09-2006, 16:56
  3. Risposte: 10
    Ultimo Post: 04-09-2006, 15:23
  4. [Javascript]Problemi con firefox
    Da campanella nel forum HTML, CSS, Javascript, AJAX
    Risposte: 1
    Ultimo Post: 28-02-2006, 08:59

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi