SQL con between non restituisce i dati corretti

K

Kairex

Guest
Buongiorno è da una settimana che non riesco a far funzionare una query SQL strutturata come segue:

sql = "SELECT * FROM Partite WHERE DataG BETWEEN #" & dal & "# AND #" & al & "# ORDER BY " & strOrderBy & ", " & strOrderOra & ";"

INFO:
Database in ACCESS 2000

DataG è un campo data del DB, formattato "dd/mm/aaaa"

dal = dateAdd("d",1,date()) ' giorno successivo alla data odierna
al = dateAdd("d",7,date()) ' 7 giorni dopo la data odierna

Il problema è che pur essendoci dei record VALIdi, non me li restituisce e mi da record degli anni passati, ovvero sembra che la query mi controlli solo i giorni e non controlli ne il mese , ne l'anno ....


Non riesco a capire...... :crying:
Grazie dei vostri suggerimenti .
 
Ciao, non conosco ACCESS ma se sicuro che ci vadano gli sharp (#) ? non dovrebbe essere cosi?
Codice:
DataG BETWEEN " & dal & " AND " & al & "
 
giusto, con gli apici allora
Codice:
DataG BETWEEN '" & dal & "' AND '" & al & "'
 
giusto, con gli apici allora
Codice:
DataG BETWEEN '" & dal & "' AND '" & al & "'

No.... già provato sia apici , sia cancelletto: e gli apici mi restituiscono un errore :incazz: (Data type mismatch in criteria expression)
 
mi era sfuggita questa
DataG è un campo data del DB, formattato "dd/mm/aaaa"
in MSQL le date sono formattate "aaaa-mm-dd", in access è diverso?
che so io Between funziona sui campi DATE, DATETIME o TIMESTAMP
 
mi era sfuggita questa

in MSQL le date sono formattate "aaaa-mm-dd", in access è diverso?
che so io Between funziona sui campi DATE, DATETIME o TIMESTAMP

in Access le date sono formattate in vari modi: io utilizzo il formato "short" e cioè "gg/mm/aaaa"
 
Grazie...... ho trovato un'altra soluzione per il problema postato.
Ovvero ho aggirato l'ostacolo, (l'errore sulle date restituite "sbagliate" me lo da sempre).... ma ho provato a fare la stessa query direttamente su Access; la registro nel DB con i criteri che servono a me; e la SELCT chiamata da codice sarà solo questa :

SQL = "SELECT * nomedellaquery"

Funziona perfettamente !!!
GRAZIE !!!
:elvis:
 

Discussioni simili