Nel mio database ho un campo che contiene la data; perchè se cerco di salvare una data utilizzando SQL da VB il valore inserito nel DB è sbagliato?

Utente HTML.it
chiede

Nel mio database ho un campo che contiene la data; perchè se cerco di salvare una data utilizzando SQL da VB il valore inserito nel DB è sbagliato?

Redazione HTML.it
risponde

Utilizzando SQL da VB per inserire una data in un database è necessario prima convertirla nel formato americano, altrimenti, utilizzando la formattazione italiana, in alcuni casi, cioè se il giorno è inferiore o uguale a 12, il giorno e il mese verranno scambiati. Ecco un esempio:

DB.Execute "INSERT INTO Tabella(Data) VALUES(#12/2/2000#);"   'Memorizza nel database la data 02/12/2000.
Per risolvere il problema, è sufficiente utilizzare la funzione Format per convertire la data nel formato americano:

DB.Execute “INSERT INTO Tabella(Data) VALUES(#” & Format(“12/2/2000”, “mm/dd/yyyy”) & “#);” ‘Memorizza nel database la data 12/02/2000.