arama ama 10 field da birden
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
arama ama 10 field da birden
Sadece 1 Edit kutusuna girilen veriyi like ile veya 10 field da birden arayıp kayıda konumlanmam gerekiyor...Normal 1 tanesini yapıyoruz peki iki veya üçüncüsünde mantık nedir teşekkürler veya nasıl yapabilirim...
Aralarında And veya Or ifadelerini duruma göre kullanman gerekir..
Kod: Tümünü seç
Örneğin
Select * From TABLO Where ADI='AHMET' OR ADI='ALİ';
veya
Select * From TABLO Where (ADI LIKE 'A%') or (ADI LIKE 'B%');
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
selam
simdi duruma göre derken onu anlayamadım yani bi no düşünün bunların hepsi aynı şey demek ama farklı yazılmış şekilleri var ve bunlardan 10 tane aynı table da field olarak var ve bunların hepsi aynı şey demek ama adam belki 1. den belki 10 cudan arayacak ama aynı kayda konumlanması gerekiyor...hangisini kullanmam lazım..
Re: selam
Duruma göre derken And (ve) , Or (veya) anlamları taşıdığı için öyle dedim.Mx500 yazdı:simdi duruma göre derken onu anlayamadım
Ama senin yukarıda yazıdklarından birşey anlamadım

İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
SELAM
hocam orasını anladım ama düşün ki 10 tane kalem var ve bunların hepsi aynı yola çıkıyor ama sende bu kalemlerin 2 tanesinin adı var sen arattırıyorsun o ikisinden birinden diğer kalemlere ulaşıyorsun...mesela sen bu 10 tane kalemi satıyorsun ama müşteri senden aynı kalemi başka bir no ile istiyor sende bakiyorsun adamın yazdığı noyu bilgilere ulaşıyorsun ama sonuçta 10 tane farklı ama aynı kalemden var ben herhangi birinden ne zaman ararsam arayım aynı bilgiye ulaşmak istiyorum database deki...
çok alan da arama
doğru anladıysam
şeklinde çözebilmen lazım.
Kod: Tümünü seç
select * from tablon where alan1 = deger or alan2 = deger or alan3 = deger
selam
Kod: Tümünü seç
procedure TSevkiyatgiris.Edit1Change(Sender: TObject);
begin
if edit1.text='' then exit;
s := edit1.Text;
dm.TBLSIPQUERY1.Active := false;
dm.TBLSIPQUERY1.SQL.Clear;
dm.TBLSIPQUERY1.SQL.Add('select * from tblsipatra');
dm.TBLSIPQUERY1.SQL.Add('where "fisno" like ''%' + s + '%''');
dm.TBLSIPDATASOURCE.DataSet := dm.TBLSIPQUERY1;
dm.TBLSIPQUERY1.Active := true;
end;
Konuyu tekrar açıklayım hocam 10 tane wolkswagen araba var

araba1 araba2 araba3 araba4 araba5 müşteri benden hangi nodan isterse istesin ben arama yaptığım zaman bu 10 tanesinden bir tanesinden varsa aynı bilgilere ulaşmam gerekiyor...umarım anlatabilmişimdir.
Kod: Tümünü seç
Query1.SQL.Text:='Select * From RUHSAT Where (MARKASI LIKE '+QuotedStr(parametre)+') or (MARKASI LIKE '+QuotedStr('%'+parametre1+'%')+')';
Buradaki parametre ve parametre1 dışarıdan göndermiş olduğun stringler..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ya bi yanlış anlama var
trsoft hocam gelen parametre değişmiyor aynı parametre farklı alanlarda aranacak sanırım bu durumda ya bi döngü kurup alanları tek tek aratmak gerekiyor ya da az önceki yazdığım gibi bi sorgu ile.
mx500 tablodan bi kaç kayıt yazarsan belki daha net bir çözüm söyleyebiliriz.
mx500 tablodan bi kaç kayıt yazarsan belki daha net bir çözüm söyleyebiliriz.
eh haklısın tabi
yani dediklerimiz aynı yere varıyor. ya bu kadar da zor olmasa gerek mx hocam yapar bunu yani. ben inanıyorum.
selam
Hocam bu kodu oluşturdum ama bir hareket yok hata da vermiyor olmad ıyani....
Kod: Tümünü seç
procedure TForm3.cxTextEdit3PropertiesChange(Sender: TObject);
begin
if cxTextEdit3.text='' then exit;
s := cxTextEdit3.Text;
dm.IBQuery2.Active := false;
dm.IBQuery2.SQL.Clear;
dm.IBQuery2.SQL.Text:='Select * From NUMUNEDATA Where (OEM_NO LIKE '+QuotedStr(cxTextEdit3.Text)+') or (OEM_NO_1 LIKE '+QuotedStr('%'+cxTextEdit3.Text+'%')+')';
dm.DataSource2.DataSet := dm.IBQuery2;
dm.ibquery2.Active := true;
end;
S.A.
vt yapın nasıl bilmiyorum ama madem arabaların fiyatları aynı arabaların ortak özellikleri için bir tablo oluştur.
ARABATURLARI
ID
MARKA
MODEL
FIYAT
DİĞER ORTAK ÖZELLİKLERİ
ARABALAR
ID
ARABATURID
GELISTAR
SATIŞTARI
MUSTERI
VS......
sonra aramayı arabalar tablosundan yapacaksın ortak bilgileri de arabaturlari dosyasından join yapacaksın.
Umarım olayı doğru anlamışımdır.
birde aradığın kaydı tek bir alana göre bulabiliyormusun. yani on alana göre arama yapacağım dediğin alanlardan birine göre buldur. sonra ikincisini ekle sıra ile git.
Kolay gelsin.
vt yapın nasıl bilmiyorum ama madem arabaların fiyatları aynı arabaların ortak özellikleri için bir tablo oluştur.
ARABATURLARI
ID
MARKA
MODEL
FIYAT
DİĞER ORTAK ÖZELLİKLERİ
ARABALAR
ID
ARABATURID
GELISTAR
SATIŞTARI
MUSTERI
VS......
sonra aramayı arabalar tablosundan yapacaksın ortak bilgileri de arabaturlari dosyasından join yapacaksın.
Umarım olayı doğru anlamışımdır.
birde aradığın kaydı tek bir alana göre bulabiliyormusun. yani on alana göre arama yapacağım dediğin alanlardan birine göre buldur. sonra ikincisini ekle sıra ile git.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
selam
aslangeri şimdi olayı tekrar anlatim anlayacağını umarım...
Aynı tablo üzerinde alanlar var alanlar aşağıda ki gibi
sira id net_kodu ay_kodu oem_no oem_no_1 oem_no_2 oem_no_3 oem_no_4
Burada net kodu, ay kodu, oem_no, oem_no_1 ...diğer oemnoların ve bu yazdığım fieldların hepsinin kaydı aynı yani tek bir kaydı temsil ediyorlar.....
net kodundan like ile yukarıda yazdığım gibi arama yaptırıp kayda konumlanabiliyorum...ay kodundan da arattırıp kayda konumlanabiliyorum fakat burada bir parçanın 15 adet farklı oem nosu olabiliyor...Yani bana herhangi bir oem nosu ile gelebildiği için ben kaydı yaparken bütün oemnoları giriyorum...ama arama yapmam lazım nasıl mı Tüm oem noları arasın eğer herhangi birinde benim yazdığım oem no varsa o kayda konumlanması gerek işte bu örneğin 15 adet oem nosu alanını editte arattırıp nasıl kayda konumlanabileceğim veya yoksa böyle bir kayıt yok olayı...Teşekkürler
Umarım anlatabilmişimdir...
Aynı tablo üzerinde alanlar var alanlar aşağıda ki gibi
sira id net_kodu ay_kodu oem_no oem_no_1 oem_no_2 oem_no_3 oem_no_4
Burada net kodu, ay kodu, oem_no, oem_no_1 ...diğer oemnoların ve bu yazdığım fieldların hepsinin kaydı aynı yani tek bir kaydı temsil ediyorlar.....
net kodundan like ile yukarıda yazdığım gibi arama yaptırıp kayda konumlanabiliyorum...ay kodundan da arattırıp kayda konumlanabiliyorum fakat burada bir parçanın 15 adet farklı oem nosu olabiliyor...Yani bana herhangi bir oem nosu ile gelebildiği için ben kaydı yaparken bütün oemnoları giriyorum...ama arama yapmam lazım nasıl mı Tüm oem noları arasın eğer herhangi birinde benim yazdığım oem no varsa o kayda konumlanması gerek işte bu örneğin 15 adet oem nosu alanını editte arattırıp nasıl kayda konumlanabileceğim veya yoksa böyle bir kayıt yok olayı...Teşekkürler
Umarım anlatabilmişimdir...