selam arkadaşlar.tablomda sonuc adında bir field var.bu alana eğer iş sonuçlanmışsa 'OK' Devam ediyorsa 'X' stringi aktarılıyor.sonuçlanan işleri
ve devam eden işleri ayrı ayrı filreleme yapabiliyorum.benim isteğim radiobutton a tıklandığında sonuç alanında hem 'OK' Hemde 'X' yazan işleri dbgridde listelemek.sql kullanamam çünkü başka yerlerle bağlantılı işlemler var uzun hikaye yani.mutlaka filtreleme ile yapmam lazım.yardım pls?
bir alanda iki şarta göre filtreleme yapma?acil..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
hocam dediklerinizi yaptım daha öncede yapmıştım.kod ve verdiği hata altta yazılı.sonuc adında bir ytanım bulamamış ama var .
procedure TForm2.suiRadioButton3Click(Sender: TObject);
begin
table1.Filter:=Sonuc='OK' or Sonuc='X' ;
Table1.Filtered:=true;
end;
[Error] Unit2.pas(277): Undeclared identifier: 'Sonuc'
procedure TForm2.suiRadioButton3Click(Sender: TObject);
begin
table1.Filter:=Sonuc='OK' or Sonuc='X' ;
Table1.Filtered:=true;
end;
[Error] Unit2.pas(277): Undeclared identifier: 'Sonuc'
Table1.Filtered özelliğini oject inspectorden true yap
sonra object inspectordun events sayfasından onfilterrecord'a çift tıkla.
Ve şu kodları yaz :
Büyük küçük harf uyumuna dikkat et.
Kolay gele...
sonra object inspectordun events sayfasından onfilterrecord'a çift tıkla.
Ve şu kodları yaz :
Kod: Tümünü seç
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if (dataset['sonuc'] = 'Ok') or (dataset['sonuc'] = 'x') then
begin
accept := true;
end else
begin
accept := false
end;
end;
Kolay gele...
Aslinda yaptiginiz tam olarak benim dediğim değil. Şöyle ki ancak tablonun filter ozelligine objeck inspector'denserkan yazdı:hocam dediklerinizi yaptım daha öncede yapmıştım.kod ve verdiği hata altta yazılı.sonuc adında bir ytanım bulamamış ama var .
procedure TForm2.suiRadioButton3Click(Sender: TObject);
begin
table1.Filter:=Sonuc='OK' or Sonuc='X' ;
Table1.Filtered:=true;
end;
[Error] Unit2.pas(277): Undeclared identifier: 'Sonuc'
Sonuc='OK' or Sonuc='X'
yazarsaniz olur. Eger Filter ozelligine kod ile atama yapmaya calisirsaniz yaptiginiz atama zaten yanlis oluyor cunku hatada da dedği gibi sonuc isimli bir degisken araniyor cunku tirnak icinde olmadigi icin bunu bir string ifade olarak degil bir degisken olarak algilamakta.
Eger kod ile atama yapacaksaniz. soyle olabilir ancak...
Kod: Tümünü seç
table1.Filter:='Sonuc='+#39+'OK'+#39+' or Sonuc='+#39+'X'+#39;
Kolay gelsin....