Öncelikle hepinize selamlar forumda arattım fakat br türlü çözümünü bulamadım fdb databesimde oluşturduğum bir table içerisinde bulunan tarih kısmında belirli İbquery aracılığıyla tarihler arasında filtreleme yaptırmak istiyorm bağlı TARİH fieldine kaydı DBedit ile giriyorum kayıt oluyor veri tipi VARCHAR önce formumuzda gördüğüm aşağıdaki kodları
ibtable a uyguladım hiçbir hareket olmadı
table2.FilterOptions:=[foCaseInsensitive];
Table2.Filter:='Tarih>='+QuotedStr(datetostr(datetimepicker1.Date)) + ' and ' + 'Tarih<='+QuotedStr(datetostr(datetimepicker2.Date));
Table2.Filtered:=true;
daha sonra aralık sorgulaması yaptırdım aşağıdaki komutta sorgulama yapıyor ancak mesela 15.01.2007 ile 10.12.2007 arasında filtreleme yaptırdığımda 09.01.2008 ve buna benzer 2008 yılındaki tüm kayıtlarıda gösteriyor sebebi galiba tarih field inde kayıtlı tarihi 09+01+2008 olarak görüyor yada başka bir nedeni var bu konuda yardımcı olacak herkesten Allah razı olsun komut aşağıda
var
tar1,tar2 : String;
begin
tar1:=datetostr(dateTimePicker1.date);
tar2:=datetostr(dateTimePicker2.date);
query1.Close;
query1.sql.Clear;
query1.sql.add('Select * from OLAY');
query1.sql.add('WHERE TARIH between :t1 and :t2');
query1.Params.ParamByName('t1').Value:=tar1;
query1.Params.ParamByName('t2').Value:=tar2;
query1.Open;
end;
İKİ TARİH ARASI FİLTRELEMEDE PROBLEM
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
İKİ TARİH ARASI FİLTRELEMEDE PROBLEM
Ülkemizin geleceği için Genç beyinlerin devamlı öğrenmesi ve uygulama yapması gereklidir Bu da önce ilgi sonra bilgi paylaşımıyla olur.
Hocam aşağıdaki kodu başarıyla kullanıyorum.
Kendine göre şekillendir lütfen.
Kolaylıklar dilerim
Kendine göre şekillendir lütfen.
Kolaylıklar dilerim
Kod: Tümünü seç
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select CekNo,islemtarihi, TakasBankasi,Takassubesi,CekBanka, CekSube,Aciklama, Vade, Tutar from _TakasCekleri where Vade BETWEEN :tarih1 and :tarih2 order by Vade');
AdoQuery1.Parameters.Parambyname('tarih1').DataType := ftDate;
AdoQuery1.Parameters.Parambyname('tarih1').Value := datetimepicker1.date;
AdoQuery1.Parameters.Parambyname('tarih2').DataType := ftDate;
AdoQuery1.Parameters.Parambyname('tarih2').Value := datetimepicker2.date;
adoquery1.Open;
procedure TCARIHAREKET.XiButton2Click(Sender: TObject);
begin
dm.carihareket.FilterOptions:=[foCaseInsensitive];
dm.carihareket.filter:='tarih>='''+cxdateedit2.Text+'''and tarih<='''+cxdateedit3.text+'''';
dm.CARIHAREKET.Filtered:=true;
cxdateedit2.Text:='';
cxdateedit3.Text:='';
frxReport1.ShowReport(true);
dm.CARIHAREKET.Filtered:=false;
end;
bunu ben kullanıyorum 2 tarih arası filtreleme yapıyor. tarih alanı ise db de (firebird) date. sen varchar yapmışsın
begin
dm.carihareket.FilterOptions:=[foCaseInsensitive];
dm.carihareket.filter:='tarih>='''+cxdateedit2.Text+'''and tarih<='''+cxdateedit3.text+'''';
dm.CARIHAREKET.Filtered:=true;
cxdateedit2.Text:='';
cxdateedit3.Text:='';
frxReport1.ShowReport(true);
dm.CARIHAREKET.Filtered:=false;
end;
bunu ben kullanıyorum 2 tarih arası filtreleme yapıyor. tarih alanı ise db de (firebird) date. sen varchar yapmışsın