if edit1.Text<>('') then
Begin
query1.SQL.Clear;
query1.SQL.Add('select * from musteri where firma like ''' + Edit1.Text + '%'' or tarih = :tarih or yer = :yer or telefon = :telefon');
Query1.ParamByName('tarih').AsDate:=StrToDate(edit2.Text)
query1.ParamByName('yer').AsString:=edit3.Text
query1.ParamByName('telefon').AsString:=edit4.Text
query1.Open;
end
else
Showmessage('Arama kriterlerinden birini giriniz');
or kullandığıım halde sanki and varmış gibi diger editlerinden boş oldugu şekilde işlem yapıyor ve invalid type hatası veriyor...
kısacası 4 tane edit in içinden hangileri girilmişsse onu aramalı...girilmeyenleri ise gözardı etmeli bunu yapmaya çalışıyorum...
birden fazla kritere göre arama II
or kullanımını biraz daha inceleyin
firma=a or firma=b gibi bir or kullanımında düzgün sonuç alacaksınız
ancak firma=a or tarih=b or yer=c gibi bir kullanımda parantezler kullanarak yapın bu işlemi Yani or alanlarını guruplayın.Aşağıdaki kodu deneyin...
if edit1.Text<>('') then
Begin
Query1.Close;
Query1.Unprepare;
query1.SQL.Clear;
query1.SQL.Add('select * from musteri where (firma=:Fir) or (tarih = :tarih or yer = :yer or telefon = :telefon)');
Query1.Prepare;
Query1.ParamByName('firma').AsString:=Edit1.Text + '%''
Query1.ParamByName('tarih').AsDate:=StrToDate(edit2.Text)
query1.ParamByName('yer').AsString:=edit3.Text
query1.ParamByName('telefon').AsString:=edit4.Text
query1.Open;
end
else
Showmessage('Arama kriterlerinden birini giriniz');
firma=a or firma=b gibi bir or kullanımında düzgün sonuç alacaksınız
ancak firma=a or tarih=b or yer=c gibi bir kullanımda parantezler kullanarak yapın bu işlemi Yani or alanlarını guruplayın.Aşağıdaki kodu deneyin...
if edit1.Text<>('') then
Begin
Query1.Close;
Query1.Unprepare;
query1.SQL.Clear;
query1.SQL.Add('select * from musteri where (firma=:Fir) or (tarih = :tarih or yer = :yer or telefon = :telefon)');
Query1.Prepare;
Query1.ParamByName('firma').AsString:=Edit1.Text + '%''
Query1.ParamByName('tarih').AsDate:=StrToDate(edit2.Text)
query1.ParamByName('yer').AsString:=edit3.Text
query1.ParamByName('telefon').AsString:=edit4.Text
query1.Open;
end
else
Showmessage('Arama kriterlerinden birini giriniz');
Sair Hocam Query1.Unprepare ve Query1.Prepare komutları kullanım amacı ve ne işe yaradıkları hakkında bilgi verirseniz sevinirim.
İyi Çalışmalar.
İyi Çalışmalar.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Fahrettin Abi herhalde yaşlanıyorum. Benim sorduğum bir sorunun devamında bu konu geçmiş. Hatırlatma için teşekkür ederim.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.