filteleme(arama)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
filteleme(arama)
dbgridden edit içine yazılanı buton ile aratmak istiyorum nasıl yapabilirim.Yalnız harfe bastıgım an bile o harf içinde olanlar gelicek arama yapınca yardımcı olursanız sevinirim
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
aslında buldum da
filtelemeyi yapıyor ancak
dbgridteki başlık kısmını eski haline getiriyor
filtrelemeyi yaptığı zaman yukardaki kodları yok sayıyor
Kod: Tümünü seç
procedure TForm1.sEdit12KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
adoquery1.Close;
adoquery1.SQL.Text:='select * from ArsivTablo where AdiSoyadi like' +#39+#37+sedit12.text+#37+#39;
adoquery1.Open;
end;
dbgridteki başlık kısmını eski haline getiriyor
Kod: Tümünü seç
sql.Add('select DosyaNo as [Dosya No], SicilNo as [Sicil No] from ArsivTablo') ;
Re: filteleme(arama)
Biraz SQL çalışmamız lazım.
WHERE kelimesi dahil sona kadar olan kısmı kopyala, alttakinin sonuna bir boşluk verip yapıştır. Projeyi çalıştır arkana yaslan ve sonucu izle.
WHERE kelimesi dahil sona kadar olan kısmı kopyala, alttakinin sonuna bir boşluk verip yapıştır. Projeyi çalıştır arkana yaslan ve sonucu izle.
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
abi dediğin herşeyi yaptım projeyi çalıştırdıktan sonra arkama bile yaslandım
ama sonuç aynı

-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
yukardaki sedit12 keyup olduğu gibi kaldı
şeklinde yaptım ama aynı sonucu verdi
Kod: Tümünü seç
sql.Add('select DosyaNo as [Dosya No], SicilNo as [Sicil No] from ArsivTablo where AdiSoyadi like' +#39+#37+sedit12.text+#37+#39') ;
Re: filteleme(arama)
bunu yazıyorsun ve başlıklarda Dosya No gibi değil orjinal alan adını görüyoruz ve de filtre yapmıyorsa DBGrid başka bir datasource bakıyor derim
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
filtrelemede hiç bir sıkıntı yok fakat dosya no şeklinde değilde orjinal alan adını görünüyor
Re: filteleme(arama)
işte söylediğim ve sql. add dediğin kısım başka yerde, dbgridin baktığı başka yerde olduğuna eminim. Bu kadarı net.
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
başka biyerlerde olamaz. birer tane adoquery ve datasource var
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
abi aynısını senin gönderdiğinde yaptım veritabanına belge bilgi olan onda da aynısı oluyor
Re: filteleme(arama)
Şimdi aşağıdaki gibi yazdın ve başlıklar eskisi gibi görünüyor öyle mi?
DBGrid'in fieldlarını elle mi doldurdun o zaman. Çünkü başka ihtimal kalmıyor.
şeklinde düzelttiğini iddia ediyorsun ben buna inanmak istemiyorum. Israrım devam ediyor.
DBGrid'in fieldlarını elle mi doldurdun o zaman. Çünkü başka ihtimal kalmıyor.
Kod: Tümünü seç
procedure TForm1.sEdit12KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
adoquery1.Close;
adoquery1.SQL.Text:='select DosyaNo as [Dosya No], SicilNo as [Sicil No] from ArsivTablo where AdiSoyadi like' +#39+#37+sedit12.text+#37+#39;
adoquery1.Open;
end;
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
ne kadar alan adı varsa hepsini mi yazacağız sadece bir tanesini yazıyordum 
hepsini yazmamız gerekiyormuş

hepsini yazmamız gerekiyormuş

Re: filteleme(arama)
sonuna * koyabilir sonra da istemediğini gridden de gizleyebilirsin. Lazımsa içeriği... Basit bir döngüye bakar
yani
yani
Kod: Tümünü seç
select DosyaNo as [Dosya No], SicilNo as [Sicil No], * FROM...
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: filteleme(arama)
Kod: Tümünü seç
procedure TForm1.sEdit13KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
adoquery1.Close;
adoquery1.SQL.Text:='select DosyaNo as [Dosya No], SicilNo as [Sicil No],' ;
adoquery1.SQL.Text:='AdiSoyadi as [Adı Soyadı], TcKimlik as [Tc Kimlik No], Telefon as [Telefon], ';
adoquery1.SQL.Text:='isyeriMevkii as [İşyeri Mevkii], isyeriNo as [İşyeri No], Metrekaresi as [Metrekaresi], ';
adoquery1.SQL.Text:='KiraBedeli as [Kira Bedeli], BaslaTar as [Başlangıç Tarihi], BitisTar as [Bitiş Tarihi],';
adoquery1.SQL.Text:='A_BelgeAdi as [Belge Adı], A_BelgeTip as [Belge Tip], A_BelgeTip, A_BelgeAdi';
adoquery1.SQL.Text:='from ArsivTablo where isyeriMevkii like' +#39+#37+sedit13.text+#37+#39;
adoquery1.Open;
end;
edite yazarken geçersiz deyimi; 'Delete', 'insert','procedure', 'select' veya update' bekleniyor diye kızdı abi

Re: filteleme(arama)
Bir datayı çektikten sonra TDataSet'in Filter ve Filtered özelliklerini de kullanabilirsiniz.