Filtreleme !!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Filtreleme !!

Mesaj gönderen ozcank »

Arkadaşlar bu koda STOPYAPKD yide ekleyip raporlamak istiyorum nasıl yapabilirim?

Kod: Tümünü seç

procedure TForm18.Button3Click(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[SISILCEKD]='+Edit1.Text;
Table1.Filtered:=True;
end;
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

procedure TForm18.Button3Click(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[SISILCEKD]='+Edit1.Text and Filter:='[STOPYAPKD]='+Edit2.Text;
Table1.Filtered:=True;
end;

bu şekilde olmadı.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kod: Tümünü seç

Table1.Filter:='[SISILCEKD]='+Edit1.Text + ' and [STOPYAPKD]='+Edit2.Text; 
Olmalı.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Arkadaşlar bu üç tane raporu tek rapor başlığı altında toplayabilirmiyim?
Edit1 e girdiğim koda ait Edit2 ve Edit1,Edit2 ye ait Edit3 bunu nasıl yapabilirim alanlardan herhangi biride boş olabilir.

Kod: Tümünü seç

procedure TForm18.Button5Click(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[SISILCEKD]='+Edit1.Text;
Table1.Filtered:=True;
end;

Kod: Tümünü seç

procedure TForm18.Button3Click(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[STOPYAPKD]='+Edit2.Text;
Table1.Filtered:=True;
end;

Kod: Tümünü seç

procedure TForm18.Button4Click(Sender: TObject);
begin
Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[SISGRUPKD]='+#39+Edit3.Text+'*'+#39;
Table1.Filtered:=True;
end;


böyle birtanesi ni yaptım ama olmadı

Kod: Tümünü seç

Table1.Filtered:=False;
Table1.FilterOptions:=[FoCaseInsensitive];
Table1.Filter:='[SISILCEKD]='+Edit1.Text + ' or [STOPYAPKD]='+Edit2.Text +' or [SISGRUPKD]='+#39+Edit3.Text+'*'+#39;
Table1.Filtered:=True;
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

sql varken Filtere kullanmak bence doğru değil basit bir select sorgusuyla bunu yapabilirisiniz select olarak arama yaparsanız birçok kaynak çıkar

kolayy gelsin
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

yardımcı olabilirmisiniz? Nasıl b,r SQL kod yazabilirim?
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

query.close;
query.UnPrepare;
query.sql.clear;
query.sql.add('select *from tablo where SISILCEKD='+#39+edit1.text+#39+' or STOPYAPKD='+#39+edit2.text+#39+'');
query.prepare;
query.open;


bu şekilde yazabilirsiniz tablo yazan kısma vt. daki tablonuzun adını yazın bide alanlarınızı string olarak kabul ettim...bi tane query bi tane de datasource koyun ve gridi datasource bağlayıp bu kodu çalıştırabilirisniz...
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Bu şekilde kullanabilirmiyim?

Kod: Tümünü seç

query.close; 
query.UnPrepare; 
query.sql.clear; 
query.sql.add('select *from SISTEMFOR where SISILCEKD='+edit1.text or STOPYAPKD='+edit2.text or SISGRUPKD='+#39+edit1.text+#39+' ''); 
query.prepare; 
query.open; 

Kod: Tümünü seç

query.close; 
query.UnPrepare; 
query.sql.clear; 
query.sql.add('select *from SISTEMFOR where SISILCEKD='+edit1.text AND STOPYAPKD='+edit2.text AND SISGRUPKD='+#39+edit1.text+#39+' ''); 
query.prepare; 
query.open; 
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde yaptım ama hata veriyor bi bakarmısınız?

Kod: Tümünü seç

query.close; 
query.UnPrepare; 
query.sql.clear; 
query1.sql.add('select * from SISTEMFOR where SISILCEKD='+edit1.text AND STOPYAPKD='+edit2.text AND SISGRUPKD='+#39+edit3.text+#39+' '');
query.prepare; 
query.open;
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Ne hatası verdiğini net olarak yazmalısın.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

[Error] ADRESTAK.pas(82): Undeclared identifier: 'STOPYAPKD' burda hata veriyor
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

edit1.text ten sonra ' ve + yı unutmuşsun.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

satırı bu şekilde değitirdim ama

[Error] ADRESTAK.pas(82): Missing operator or semicolon bu hatayı vermeye başladı.

Kod: Tümünü seç

query1.sql.add('select * from SISTEMFOR where SISILCEKD='+edit1.text'+ AND STOPYAPKD='+edit2.text'+ AND SISGRUPKD='+#39+edit3.text+#39+' '');
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
bir önceki satırın sonuna ; koymayı unutmuş olabilirmisin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
heskin35
Üye
Mesajlar: 132
Kayıt: 30 Haz 2004 09:48

Mesaj gönderen heskin35 »

Tam emin değilim ama 2 nci satır sonunda ki ' işaretlerinden birininde fazla olması olabilir.
Cevapla