conversione date



  • conversione date
    di Francesco (utente non iscritto) data: 07/12/2012 20:44:02

    è possibile convertire correttamente in vba date in questo modo:

    20120101 in 01/01/2012 ?
    (c'è una maniera diretta oppure devo estrarre dalla stringa i valori che mi interessano e unire il tutto con &/&)



  • di Vecchio Frac data: 07/12/2012 21:11:37

    Io memorizzo regolarmente le date nei miei db nel formato stringa che hai indicato.
    Ho visto che per Access è la soluzione più indolore per evitare i mal di testa dovuti alle conversioni.
    Quando devo recuperare la data naturalmente bisogna smanettare con Mid, Left e Right, ma è una cosa molto semplice:

    (siano data_originale una variabile di tipo stringa, che poi converti con CDate, e data_compatta la data in formato stringa "20120101")
    data_originale = Right(data_compatta, 2) & "/" & Mid(data_compatta, 5, 2) & "/" & Left(data_compatta, 4)





  • di Francesco (utente non iscritto) data: 07/12/2012 21:18:23

    vada per Mid, Left e Right allora! lo supponevo ! speravo in qualche codice che non conoscevo.

    comunque dovrebbe essere più facile visto che ho problema contrario cioè da 01/01/2012 a 20120101
    ciaooo e grazie



  • di Francesco (utente non iscritto) data: 07/12/2012 21:30:51

    data = Right(x, 4) & Mid(x, 4, 2) & Left(x, 2)



  • di Vecchio Frac data: 07/12/2012 22:16:46

    Ah bè, allora eccoti un metodo più semplice:
    data_compatta = format(data_estesa, "yyyymmdd")

    (dove data_estesa contiene una data valida nel formato "01/01/2012")





  • di Francesco (utente non iscritto) data: 07/12/2012 22:24:33



    ecco che dal cilidro salta fuori un codice più ottimizzato ^_^




  • di Vecchio Frac data: 08/12/2012 09:13:32

    LOL, funziona benissimo anche il tuo (soluzione che ho praticato per anni, prima di scoprire Format).