Smatram da imash problem oko upita. Moguce su dvije greske: u formatu datuma; u samom upitu koji je
loshmiscg napisao. Ovisi kakve su ti postavke na bazi. Svejedno, ako je to standardan nacin onda upit posalji u formatu: 2006-06-03 (dakle, godina-mjesec-dan). Ne znam kako radi Paradox glede sintakse pa ti tu ne mogu pomoci. Ali, ovako bi to izgledalo u MySQL-u/SQL-u/SQLite-u/Oracle-u/...;
Bilo bi ovako:
Code:
var sMySQL, sSQL:String;
begin
sMySQL:=' SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit1.Text)) + '" AND DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit2.Text)) + '"';
ADOQuery1.SQL.Text := sMySQL;
ADOQuery1.Active := true;
end;
Dakle, upit kod MySQL baze bi bio:
Code:
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE
"2005-02-1" AND DATE "2007-02-1"
U SQL-u skoro isto:
Code:
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN "2005-02-1" AND "2007-02-1"
SQLite, Oracle, Sybase potpuno isto kao MySQL.
Naravno, preporucujem da izbjegnes moguce greske (sta ako korisnik unese nesto sto nije datum?) ili maskama ili provjerom kroz cod... Ali, pretpostavljam da to nece biti problem...
Respect!