Ciao micro,
certo che utilizzando la data come una stringa e per lo più formattata secondo lo standard italiano la "cosa" si complica un poco ma è possibile "aggirare" l'ostacolo come ad esempio è mostrato qui sotto:
' si ammette di avere in una tabella ("TabMov") un campo
' data di nome "DateIt" nel formato stringa gg/mm/aaaa...
' si desidera eseguire una query che mostri tutti i record
' dove "DateIt" è maggiore del "15/07/2008" ("DateStart")
' e minore di "12/09/2008" ("DateEnd")...
' la select di estrapolazione dei dati potrebbe essere la seguente:
xSQL = "SELECT * FROM TabMov WHERE (((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) >= '20080715') AND ((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) <= '20080912'))"
' oppure:
DateStart = [data in formato italiano per inizio confronto] ' qualsiasi stringa o variabile che contenga una data nel formato gg/mm/aaaa
DateEnd = [data in formato italiano per fine confronto] ' qualsiasi stringa o variabile che contenga una data nel formato gg/mm/aaaa
q_Date_Start = SubString(DateStart, 6, 4) & SubString(DateStart, 3, 2) & SubString(DateStart, 0, 2) ' aaaammgg
q_Date_End = SubString(DateEnd, 6, 4) & SubString(DateEnd, 3, 2) & SubString(DateEnd, 0, 2) ' aaaammgg
xSQL = "SELECT * FROM TabMov WHERE (((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) >= '" & q_Date_Start & "') AND ((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) <= '" & q_Date_End & "'))"
Comunque ti consiglio, anche per una maggior velocità di elaborazione, di convertire i campi delle tabelle di database che utilizzi come date nel formato timestring.
Saluti,
Massimo