mbarbon ha scritto:
Gibra, mi hai fatto venire un dubbio e ho fatto qualche prova. Effettivamente non centra nulla l'anno.
Deve essere prorprio un discorso di formattazione della data infatti:
Appunto, lo è.
Esiste una differenza sostanziale tra il formato della data quando letto/scritto da un
Recordset, rispetto ad un
enunciato SQL (quello che stai usando tu).
mbarbon ha scritto:
Quindi: ipotizzando che debba formattare il campo come MM/GG/AAAA....come faccio a formattare il campo DataCommessa nella maniera corretta se lavorando nella definizione del campo nella struttura della tabella non me lo da tra i formati selezionabili?
Non devi modificare nulla nella struttura della tabella! (leggi il P.S.)
Tu devi passare la data già formattata alla stringa SQL che usi per aprire il recordset:
Dim strData As String
strData = Format(dData, "MM/DD/YYYY")
Set rst = CurrentDb.OpenRecordset("select * from [CommesseClienti] where [DataCommessa] = #" & strData & "#")
Nota che ho usato il tipo String: infatti, essendo un enunciato in linguaggio SQL non ha alcuna importanza qual'è il Tipo di dato perché
in ogni caso il linguaggio SQL accetta solo stringhe.
P.S. Nei database, in genere, il formato delle Date è sempre quello americano.
Se non lo è, allora è stato impostato un formato diverso, sempre che il database preveda il comando per farlo (Access non lo prevede, e non puoi).