Edit1 ve Edit2'ye göre filtre yapmak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Edit1 ve Edit2'ye göre filtre yapmak.

Mesaj gönderen Ertuğrul2025 »

Hayırlı günler biraz fazla soru soruyorum ama kusura bakmayın. Benim yapmak istediğim Stok numarasını "E1"e seri numarasını "E2"ye giriyorum
Bu iki değere göre ADOQuery_Garanti'de sorgulama yapsın ve değer bulunursa
E13.text:= 'GARANTİSİ DEVAM EDİYOR' yazsın bulunmazsa yazmasın istiyorum.

Aşağıdaki kodda sorgulama yapıyor ama E2'ye göre yapıyor. Ben hem E1'e hemde E2'ye göre
sorgulama veya filtreleme yapması istiyorum.
Bu konuda bana yardımcı olursanız memnun olurum.

procedure TForm1.E2Exit(Sender: TObject);
var
Tarih1, Tarih2 : TDate;
fark : Integer;
Begin
ADOQuery_Garanti.Filter:='A1='+QuotedStr(E1.Text);//kriter // STOK VE SERİ GARANTİ SORGULA
ADOQuery_Garanti.Filter:='A2='+QuotedStr(E2.Text);//kriter // STOK VE SERİ GARANTİ SORGULA
ADOQuery_Garanti.Filtered:=true;
Edit4.Text:=ADOQuery_GarantiGarantiBitis.Text;
Begin
Tarih1:= StrToDate(E11.text); // İlk tarih değer
Tarih2:= StrToDate(Edit4.text); // İkinci tarih değer
fark:= trunc(Tarih2) - trunc(Tarih1) ;
if fark>-1 then
E13.text:= 'GARANTİSİ DEVAM EDİYOR' ;

end; end;
ertank
Kıdemli Üye
Mesajlar: 1711
Kayıt: 12 Eyl 2015 12:45

Re: Edit1 ve Edit23'ye göre filtre yapmak.

Mesaj gönderen ertank »

Merhaba,

Aşağıdaki şekilde deneyebilirsiniz

Kod: Tümünü seç

ADOQuery_Garanti.Filter:='A1='+QuotedStr(E1.Text) + ' and A2=' + QuotedStr(E2.Text);
ADOQuery_Garanti.Filtered:=true;
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Re: Edit1 ve Edit23'ye göre filtre yapmak.

Mesaj gönderen Ertuğrul2025 »

ertank yazdı: 24 Şub 2025 02:54 Merhaba,

Aşağıdaki şekilde deneyebilirsiniz

Kod: Tümünü seç

ADOQuery_Garanti.Filter:='A1='+QuotedStr(E1.Text) + ' and A2=' + QuotedStr(E2.Text);
ADOQuery_Garanti.Filtered:=true;
Çok sağolun hocam Allah razı olsun.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Edit1 ve Edit2'ye göre filtre yapmak.

Mesaj gönderen freeman35 »

Forumu kurma amacımız zaten soru sorulması :)
sql, code vs için tag kullanırsan daha okunaklı olacak.
Ben olsam ADOQuery_Garanti yerine Q_Garanti yada qry_Garanti şeklinde standart bir kısaltmaya giderdim.
Yazdığını sql server a yıkmaya alıştır, önceliğini sql e vermen, hem sorunları kolaylaştırırsın hemde sql öğrenmeyi hızlandırırsın.
string ifadelerin '' (boşluk) yada space ile olma ihtimalini denetlemelisin. yani null ile '' farklı iki değerdir.

fikir versin, buna where ekleyerek gereksiz kayıtları azaltarak performans sağlarsın. parametreler ile de istediğin değerleri sorgularsın

Kod: Tümünü seç

SELECT t.sth_tarih,
(CASE WHEN DATEDIFF(day, CAST(GETDATE() AS DATE),  CAST(t.sth_tarih AS DATE) )>8 
  THEN 'GARANTİSİ DEVAM EDİYOR' 
  ELSE 'Garinti dışı' 
 END) as Garanti
FROM STOK_HAREKETLERI t
 
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Re: Edit1 ve Edit2'ye göre filtre yapmak.

Mesaj gönderen Ertuğrul2025 »

freeman35 yazdı: 24 Şub 2025 03:59 Forumu kurma amacımız zaten soru sorulması :)
sql, code vs için tag kullanırsan daha okunaklı olacak.
Ben olsam ADOQuery_Garanti yerine Q_Garanti yada qry_Garanti şeklinde standart bir kısaltmaya giderdim.
Yazdığını sql server a yıkmaya alıştır, önceliğini sql e vermen, hem sorunları kolaylaştırırsın hemde sql öğrenmeyi hızlandırırsın.
string ifadelerin '' (boşluk) yada space ile olma ihtimalini denetlemelisin. yani null ile '' farklı iki değerdir.

fikir versin, buna where ekleyerek gereksiz kayıtları azaltarak performans sağlarsın. parametreler ile de istediğin değerleri sorgularsın

Kod: Tümünü seç

SELECT t.sth_tarih,
(CASE WHEN DATEDIFF(day, CAST(GETDATE() AS DATE),  CAST(t.sth_tarih AS DATE) )>8 
  THEN 'GARANTİSİ DEVAM EDİYOR' 
  ELSE 'Garinti dışı' 
 END) as Garanti
FROM STOK_HAREKETLERI t
 
Teşekkür ederim hocam Allah razı olsun
Cevapla