Bu konu nedense her 4-5 ayda popüler olyor.
Ama arkadaşlar da haklı çok değişik sorunlardan hata geliyor.
Mesela veri tabanındaki Field adında boşluk varsa [alan adi]gibi veya access de türkçe karekter kulanılmışsa alan adı köşeli parentez içinde yazılmalıdır. :)
DTP = Date Time Picture
// 1. yol çok başarılı
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select SIPARISTAKIP_ADETI, SIPARISTAKIP_FIRAMAADI, SIPARISTAKIP_GROUP, SIPARISTAKIP_OTOMATIC, SIPARISTAKIP_SIPARISNO, SIPARISTAKIP_TARIHI, SIPARISTAKIP_TIPI, SIPARISTAKIP_TOPLAM from SIPARISTAKIP');
SQL.Add(' Where SIPARISTAKIP_TARIHI between');
sql.add(' :tarih1 and :tarih2 ');
Parameters[0].DataType := ftDate;
Parameters[1].DataType := ftDate;
Parameters[0].Value := DatetoStr(DTPilk.Date);
Parameters[1].Value := DatetoStr(DTPSon.Date);
Open;
ExecSQL;
end;
//2. Yol
//sql server veri tabanı için
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Tablo where (tarihalanı between '+#39+ FormatDateTime('mm-dd-yyyy',DateTimePicker1.Date)+#39+' and '+#39+FormatDateTime('mm-dd-yyyy',DateTimePicker1.Date)+#39+')');
ADOQuery1.Active:=true;
3. yol
//access veri tabanı için
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Tablo where (tarihalanı between '+#39+ FormatDateTime('dd/mm/yyyy',DateTimePicker1.Date)+#39+' and '+#39+FormatDateTime('dd/mm/yyyy',DateTimePicker1.Date)+#39+')');
ADOQuery1.Active:=true;
sorunlarınıza yardımcı olur umarım.