dostlar ben bir form üzerinde 5-6 adet dbedit ten alttaki dbgrid den filtreleme yapacağım
ilk dbeditte dilediğim gibi filtre yapabiliyorum
benim istediğim ilk db de yaptığım filtreden sonra dbgrid içerisinde kalan örneğin 500 sonucun(adı soyadı) içinde ikinci dbedit ile baba adına göre filtreleme yapmak istiyorum
ama bu tablodaki tümn kaytıtlardan değil
ilk filtreden sonraki kalan misal 500 kayıtın içinden olsun ve bundan sonrada diyelimki 200 kayıta indi bu seferde doğum tarihi ile filtrelemek istoyorum... bir nevi elem usulü gibi..şimdiden yardım eden arkadaşlara teşekkür ederim
anlatımım kötü olabir ama malesef acemilik bağışlayın
formda tek dbgrid den 5-6 ayrı dbedit ile elemeli filtre
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
merhaba,
filtreleme diye arama yaptım ve bir çok sonuca ulaştım. bunlardan biri cxgrid için;
viewtopic.php?t=18274&highlight=filtreleme
aklıma birde şu çözüm geliyor. ben genelde genel alan sorgulamalarında kullanırım. 5-6 veya ihtiyaca göre 10 editim olur ve kullanıcı dilediği edite girerek sorgu çeker. böyle bir uygulama olabilir. birinci edite girer sorguyu çeker ad ile sonra ikinci edite girer soyadı ile sorgu çeker sonra üçüncü edit diyerek eleye eleye sorgu çeker. fakat burada her sorgu çalışmasında tablonun tümünü tarar tabiki.
siz öncelikle aramayı kullanarak forumu bir gezinin derim.
kolay gelsin
filtreleme diye arama yaptım ve bir çok sonuca ulaştım. bunlardan biri cxgrid için;
viewtopic.php?t=18274&highlight=filtreleme
aklıma birde şu çözüm geliyor. ben genelde genel alan sorgulamalarında kullanırım. 5-6 veya ihtiyaca göre 10 editim olur ve kullanıcı dilediği edite girerek sorgu çeker. böyle bir uygulama olabilir. birinci edite girer sorguyu çeker ad ile sonra ikinci edite girer soyadı ile sorgu çeker sonra üçüncü edit diyerek eleye eleye sorgu çeker. fakat burada her sorgu çalışmasında tablonun tümünü tarar tabiki.
siz öncelikle aramayı kullanarak forumu bir gezinin derim.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

teşekkürler
ilgine teşekkür ederim kardeş..
acemiliğin gözü kör olsun.. bilmemek çok kötü...
umarım tavsiyelerinle bir yerlere varabilirim ama tabi benim asıl aradığım olay 150 tane hakan isimli kullanıcı bulmuş isek bunların içinde soy adı bayrak olanı bulmak...burda ana fikir bayrak diye sorgullattığımda mehmet yada kemal bayrakları bulmamak....
belki bu konuda çözümü olan başka arkadaşlarda çıkar...
tekrar teşekkür ederim
acemiliğin gözü kör olsun.. bilmemek çok kötü...
umarım tavsiyelerinle bir yerlere varabilirim ama tabi benim asıl aradığım olay 150 tane hakan isimli kullanıcı bulmuş isek bunların içinde soy adı bayrak olanı bulmak...burda ana fikir bayrak diye sorgullattığımda mehmet yada kemal bayrakları bulmamak....
belki bu konuda çözümü olan başka arkadaşlarda çıkar...
tekrar teşekkür ederim
S.A.
hakan2002 kardeş SQL sorugusu kullanıyormusun bilmiyorum ama ben sana Paradox için yaptğım bir taktik vereyim.
Öncelikle DBEdit değil normal editlerle yapıyorum. DBTable filtresine filtre diyelim SQL inkine Queryfiltre diyelim.
filtre := filtre + 'AND (ADISOYADI=' + QuotedStr(Edit1.Text+'*') + ')'
Queryfiltre := Queryfiltre + 'AND ADISOYADI Like "'+Edit1.Text+ '%" ';
eğer başka editlerin varsa onları tek tek yazıp AND leyebilirsin. En sonunda
TTABLE için ;
Table1.Filter := filtre;
SQL Query için
Query1.SQL.Add('Selecet .................. from ..... Where '+Queryfiltre);
ile işlemini yaparsın. Kafan karışırsa yaz birazdaha geniş bir örnek vereyim. Şuan zamanım yok kusura bakma.
hakan2002 kardeş SQL sorugusu kullanıyormusun bilmiyorum ama ben sana Paradox için yaptğım bir taktik vereyim.
Öncelikle DBEdit değil normal editlerle yapıyorum. DBTable filtresine filtre diyelim SQL inkine Queryfiltre diyelim.
filtre := filtre + 'AND (ADISOYADI=' + QuotedStr(Edit1.Text+'*') + ')'
Queryfiltre := Queryfiltre + 'AND ADISOYADI Like "'+Edit1.Text+ '%" ';
eğer başka editlerin varsa onları tek tek yazıp AND leyebilirsin. En sonunda
TTABLE için ;
Table1.Filter := filtre;
SQL Query için
Query1.SQL.Add('Selecet .................. from ..... Where '+Queryfiltre);
ile işlemini yaparsın. Kafan karışırsa yaz birazdaha geniş bir örnek vereyim. Şuan zamanım yok kusura bakma.
teşekkür
dostum yardımın için çok teşekkür ederim ama sql i malesef hiç bilmiyorum..
hadi yardımcı ol anlat desem sana yazık
ama ilgine teşekkür ederim
bu sql ve query işini öğrenmem lazım ama evdende 36 yaşında bu işler zor oluyor...sizlerin sayesinde bişeyler kapıyoruz işte...
tekrar teşekkürler
birden fazla form oluşturarak bu sorunu aşmaya karar verdim... takılmaktansa sanırım üretmek adına kulağı tersten tutarakta olsa şu kulağı tutayım dedim ...tekrar tekrar teşekkür ederim
hadi yardımcı ol anlat desem sana yazık

ama ilgine teşekkür ederim
bu sql ve query işini öğrenmem lazım ama evdende 36 yaşında bu işler zor oluyor...sizlerin sayesinde bişeyler kapıyoruz işte...
tekrar teşekkürler
birden fazla form oluşturarak bu sorunu aşmaya karar verdim... takılmaktansa sanırım üretmek adına kulağı tersten tutarakta olsa şu kulağı tutayım dedim ...tekrar tekrar teşekkür ederim
merhaba,
çok uzun yol olabilir ustalarım kısa ve öz olanı biliyordur ama fikir açısından şu kodları vermek istedim.
şimdi 19 tane falan edit vb. bileşenler var. kullanıcı dilediği alana göre sorgu çekiyor. kişiyi bağlama yok ister bir edite girilen kriter ile ister 5 ister 10 isterse hepsi ile.
birinci edite hakan yazdın ve sorguladın. hakanlar geldi soyadları farklı bir sürü hakan, sonra ikinci edite soyadını girdin birinci editteki hakan duruyor ama silmek yok. yine butona bastın ve hakan bayrak lar geldi, yine elemek istedin bu sefer üçüncü edite doğum yerini girdin ama birinci ve ikinci editleri silmek yok onlarda dahil olacak olaya ve sorguladın ve istediğin elemeyi elde ettin diye düşünüyorum. inşeallah fikir verir sana
kolay gelsin
çok uzun yol olabilir ustalarım kısa ve öz olanı biliyordur ama fikir açısından şu kodları vermek istedim.
Kod: Tümünü seç
var
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,
s18,s19,s:String;
begin
s1:=dblookupcombobox4.Text;
s2:=Edit1.text;
s3:=edit2.Text;
s4:=edit3.Text;
s5:=Edit4.text;
s6:=edit12.Text;
s7:=dblookupcombobox5.Text;
s8:=dblookupcombobox6.text;
s9:=edit13.Text;
s10:=edit14.Text;
s11:=edit15.text;
s12:=dblookupcombobox7.Text;
s13:=edit16.Text;
s14:=edit17.text;
s15:=edit18.Text;
s16:=edit19.Text;
s17:=edit20.text;
s18:=edit21.Text;
s19:=edit22.Text;
sorgudm.raporsorguibqry.close;
with sorgudm.raporsorguibqry.sql do
begin
Clear;
Add('Select * From OLAYRAPOR');
if s1<>'' then s:='(TERMINALKODU = '''+s1+''')';
if s2<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(OLAYYILI = '''+s2+''')'
end;
if s3<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(RAPORNO = '''+s3+''')'
end;
if s4<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(EKRAPORNO = '''+s4+''')'
end;
if s5<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(OLAYTARIHI1 = '''+s5+''')'
end;
if s6<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(INCTARIHI = '''+s6+''')'
end;
if s7<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(SUCTURU CONTAINING ''%'+s7+'%'')'
end;
if s8<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(ISTOLYADI CONTAINING '''+s8+''')'
end;
if s9<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(RAPOROLYADI CONTAINING ''%'+s9+'%'')'
end;
if s10<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(OLYGIRIS CONTAINING ''%'+s10+'%'')'
end;
if s11<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(OLYCIKIS CONTAINING ''%'+s11+'%'')'
end;
if s12<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(ILI CONTAINING ''%'+s12+'%'')'
end;
if s13<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(ILCESI CONTAINING ''%'+s13+'%'')'
end;
if s14<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(MAHALLE CONTAINING ''%'+s14+'%'')'
end;
if s15<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(CADDESOKAK CONTAINING ''%'+s15+'%'')'
end;
if s16<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(BILINENADI CONTAINING ''%'+s16+'%'')'
end;
if s17<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(PLAKA LIKE ''%'+s17+'%'')'
end;
if s18<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(MARKA CONTAINING ''%'+s18+'%'')'
end;
if s19<>'' then
begin
if s<>'' then s:=s+' AND ';
s:=s+'(MODEL CONTAINING ''%'+s19+'%'')'
end;
if s<>'' then add ('WHERE '+s);
add('ORDER BY OLAYYILI, RAPORNO, EKRAPORNO');
end;
sorgudm.raporsorguibqry.Open;
sorgudm.raporsorguibqry.Last;
jvgroupbox6.Caption:='SORGULAMA SONUCU : [ '+inttostr(sorgudm.RaporSorguIBQry.RecordCount)+
' ] KAYIT BULUNDU';
if sorgudm.raporsorguibqry.IsEmpty then
ShowMessage('Aranılan Kriterde Kayıt Bulunamamıştır.');
birinci edite hakan yazdın ve sorguladın. hakanlar geldi soyadları farklı bir sürü hakan, sonra ikinci edite soyadını girdin birinci editteki hakan duruyor ama silmek yok. yine butona bastın ve hakan bayrak lar geldi, yine elemek istedin bu sefer üçüncü edite doğum yerini girdin ama birinci ve ikinci editleri silmek yok onlarda dahil olacak olaya ve sorguladın ve istediğin elemeyi elde ettin diye düşünüyorum. inşeallah fikir verir sana
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
