ADOTable Filtreleme

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

ADOTable Filtreleme

Mesaj gönderen uranyum238 »

Arkadaşlar kullanıcının belirlediği alana göre filtreleme yapmak istiyorum. Bir radiogroup'um var ve kullanıcı buradan bir seçeneği işaretleyecek; daha sonra edit'e yazdığı aramaya göre datagridde kayıtlar filtrenecek. Yazdığım kod;

procedure TForm1.RzEdit1Change(Sender: TObject);
begin
ADOTable1.Filtered:=True;

if RzRadioGroup1.ItemIndex=0 Then
ADOTable1.Filter:='barkod='+QuotedStr(RzEdit1.Text+'*');

if RzRadioGroup1.ItemIndex=1 Then
ADOTable1.Filter:='kurum='+QuotedStr(RzEdit1.Text+'*');

if RzRadioGroup1.ItemIndex=2 Then
ADOTable1.Filter:='sehir='+QuotedStr(RzEdit1.Text+'*');

end;

Ama edite yazdığım anda datagridde hiçbir kayıt görüntülenmiyor. Yardımlarınızı bekliyorum...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesaj gönderen aslangeri »

s.a.
öncelikle kodlarınızı code tagı içerisinie alırsanız kodlarınız daha okunaklı olur.
Filtreleme işlemleri için önce adotable in filtered özelliğini false yapın. sonra filter özelliğine değeri atın. sonra filtered ini true yapın.
oluşturduğunuz filitreye uyan kayıt olduğunu teyit edin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

Re: ADOTable Filtreleme

Mesaj gönderen uranyum238 »

Dediğinizi yaptım fakat sonuç aynı. İstediğim datagriddeki bilgilerimi istediğim kritere göre filtrelemek ama örneğin a harfine bastığımda a ile başlayanlar datagridde kalacak a dan sonra b'ye bastığımda ab ile başlayanlar gridde kalacak gibi. Normal filtreleme yapabiliyorum. Yalnız Adotable demiştim onunla olmuyor ADODataset ile oluyormuş.
ADODataset1.Filter:='barkod='+QuotedStr(RzEdit1.Text); ile normal filtreleme yapıyorum ama dediğim gibi klavyeden her girilen harfe göre griddeki bilgiler değişmiyor. Yardım lazım
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

Re: ADOTable Filtreleme

Mesaj gönderen uranyum238 »

Yok mu arkadaşlar bilen? Ümidi kesmek üzereyim herhalde yine paradox ile yapacağım...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesaj gönderen aslangeri »

s.a.
yapacağın işlem forma birtane edit koy.
editin onchange inde yazdığın filitreleme kodunu çalıştıracaksın.
eğer dbgridden basılan harflerinde editteki text gibi işlem yapmasını isterseniz sendmessage api sini aratın.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

Re: ADOTable Filtreleme

Mesaj gönderen uranyum238 »

a.s.
Filtreleme kodunu zaten editin onchange olayınıa yazıyorum;
paradox için edit1 onchange'e yazdığım kod şu ve sorunsuz çalışıyor;

Kod: Tümünü seç

Table1.Filtered:=True;
Table1.Filter:='barkod='+QuotedStr(Edit1.Text+'*');
accessde şöyle bir modifikasyon yaptım

Kod: Tümünü seç

ADOTable1.Filtered:=True;
ADOTable1.Filter:='barkod='+QuotedStr(Edit1.Text+'*');
Bu kod çalışmıyor QuotedStr(Edit1.Text+'*'); kodundaki ' * ' bloğunu çıkarınca çalışıyor ama bütün kriteri girince çalışıyor. İstediğimi yukarıda anlatmıştım edit1deyken a'ya basınca a ile başlayan kayıtlar listelenecek. ' * ' bu kod sorun çıkarıyor. Acaba bu kod accessde tanınmıyor mu ve access de bunun için başka bir şey kullanabilir miyim sorun bu.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesaj gönderen aslangeri »

hocam niye taksit taksit söylüyorsunuz ki.
ekonomik krizden dolayı sihirli küremize sihir alamıyoruz.
yukardaki mesajlarınızda acces geçiyormu ben göremedim.
adoquery kullanarak yapabilirsiniz.
forumda bu filitreleme ile ilgili epey örnek var onları inceleyin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

Re: ADOTable Filtreleme

Mesaj gönderen uranyum238 »

Eyvallah halletim...
de_sibe_l
Üye
Mesajlar: 1
Kayıt: 28 Nis 2009 11:56

Re: ADOTable Filtreleme

Mesaj gönderen de_sibe_l »

ben cd kiralama otomasyonu yapıyorum ve yaptım film arama formundaki kodlarla adodataset1 ile yaptım veri ttabanı database ile birleştiremiyorum acil yardıma ihtiyacım var yardım ederseniz sevinirim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: ADOTable Filtreleme

Mesaj gönderen conari »

Kod: Tümünü seç

ADOTable1.Filtered:=false;
ADOtable1.Filter:='belgeno='+QuotedStr(Edit1.Text);
ADOTable1.Filtered:=true;
ADOTable1.open;
editkeypress,editchange, editexit , butonclick artık nerde kullarsanız.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla