Formattazione corretta data

di il
2 risposte

Formattazione corretta data

Buongiorno a tutti,
avrei la seguente domanda.
Praticamente leggendo sul sito di Allen Browne's pensavo di aver trovato la soluzione definitiva per la memorizzazione di date all'interno delle tabelle tramite codice, in quanto viene citato che msaccess usando il "#" interpreta la data sempre in formato americano o ansi.
In pratica nel creare una stringa sql da eseguire con db.execute su tabelle locali (sistema italiano), ho una funzione che mi formatta le date nel seguente modo: SQLDate = Format$(<varDate>, "\#mm\/dd\/yyyy\#"). presa dal sito di Allen Browne's.
In passato mi sembrava non avesse problemi, però oggi ho riscontrato dei risultati strani

con Format$(<varDate>, "\#mm\/dd\/yyyy\#")
valore passato - "26/06/14" su db "14/06/26" non corretto
valore passato - "25/08/10" su db "10/08/25" non corretto

..allora ho cambiato formattazione..

con Format$(<varDate>, "\#yyyy\/mm\/dd\#")
valore passato - "26/06/14" su db "26/06/14" corretto
valore passato - "25/08/10" su db "10/08/25" non corretto

...
con Format$(<varDate>, "\#yyyy\-mm\-dd\#")
valore passato - "26/06/14" su db "26/06/14" corretto
valore passato - "25/08/10" su db "10/08/25" non corretto

So che l'argomento è stato dibattuto tantissime volte e che risolverei al volo senza usare la funzione (in quanto la data è già in italiano), però la funzione risulta utile come wrapper nei casi di sqlserver e date non italiane e poi non capisco perchè questo comportamento ambiguo.

Grazie anticipatamente
Lucio63

2 Risposte

  • Re: Formattazione corretta data

    Leggi questo:
    forum.masterdrive.it/microsoft-office-access-vba-23/vba-jet-tutorial-uso-campi-data-56461/

    Non risulta utile in SQL SERVER perche basterebbe usare correttamente query Parametriche e passare il parametro senza quegli accrocchi...

    La data si dovrebbe usarebin formato ISO8601, ma JET fa differenza sopratrutto nell'uso dell'accezione anglosassone.

    https://www.iso.org/iso-8601-date-and-time-format.htm
  • Re: Formattazione corretta data

    Grazie per la pronta risposta.
    spiegazione super esaudiente
    In effetti il metodo 3 considerando che la data è già un numero è il più semplice ed efficace e dovrebbe far dimenticare l'annosità del problema
    Ho avuto tempo di fare alcune prove e funziona alla grande
    Ancora Grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte