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.
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

ADOTable Filtreleme

Mesajgönderen uranyum238 » 31 Ara 2008 08:39

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: 4312
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesajgönderen aslangeri » 31 Ara 2008 09:53

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

Mesajgönderen uranyum238 » 02 Oca 2009 03:36

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

Mesajgönderen uranyum238 » 20 Oca 2009 09:18

Yok mu arkadaşlar bilen? Ümidi kesmek üzereyim herhalde yine paradox ile yapacağım...

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4312
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesajgönderen aslangeri » 20 Oca 2009 09:26

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

Mesajgönderen uranyum238 » 20 Oca 2009 10:44

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: 4312
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: ADOTable Filtreleme

Mesajgönderen aslangeri » 20 Oca 2009 11:48

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

Mesajgönderen uranyum238 » 05 Şub 2009 04:56

Eyvallah halletim...

de_sibe_l
Üye
Mesajlar: 1
Kayıt: 28 Nis 2009 10:56

Re: ADOTable Filtreleme

Mesajgönderen de_sibe_l » 28 Nis 2009 11:02

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 02:10
Konum: İstanbul & Gebze Karışık
İletişim:

Re: ADOTable Filtreleme

Mesajgönderen conari » 29 Nis 2009 10:38

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


“Diğer Veritabanları” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 4 misafir

cron