sevensuleyman
Altın Üye
- Katılım
- 9 Kasım 2012
- Mesajlar
- 198
- Excel Vers. ve Dili
- office 2010
- Altın Üyelik Bitiş Tarihi
- 08-12-2027
merhaba;
excell üzerinde kullandıgım
veri getirdiğim böyle bir sql kodum mevcut. stok adı ile aramayı geliştirmek istiyorum. birden fazla kelime ile arama yapmak istiyorum. internette şöyle bir kod buldum fakat uyarlayamadım. üstadların yardımını bekliyorum şimdiden teşekkürler
excell üzerinde kullandıgım
Kod:
SqlText = "SELECT STOK_KODU,STOK_ADI, SATIS_FIAT1,SATIS_FIAT2,SATIS_FIAT3,SATIS_FIAT4,ALIS_FIAT1,KULL1S,ALIS_FIAT3,BAKIYE_3,BAKIYE_1,KULL2N,BAKIYE_2,URETICI_KODU,SATICI_ISIM,KOD5_ACIKLAMA,BARKOD1,KULL1S,BILGI,KULL1N FROM SKM_YPSTOKBAKIYERAPOR WHERE GRUP_KODU='" & Sayfa8.Cells(3, 2).Value & "' AND STOK_ADI LIKE DBO.TR2UNC(N'%" & Sayfa8.Cells(3, 4).Value & "%' )AND KULL1N <>'3' ORDER BY BAKIYE_2 DESC"
Kod:
S.Delimiter :='+';
function ArananKelimeler(TAlan,Cumle,and_or:String):string;
var
S:TStringList;
i:Integer;
begin
S :=TStringList.Create;
try
S.Delimiter :=' '; // Kelimeler Boşluk karakterine göre ayrıştırılacaktır.
S.DelimitedText :=Cumle; // kelimelere ayrılacak yazımız.
for I := 0 to s.Count-1 do // Kaç adet kelime var ise döngü ile sorgu cümlemize ekliyoruz
begin
if i<>S.Count-1 then // Listedeki son kelime olup olmadığını kontrol ediyoruz.
Result:=Result+TAlan+' like %'+S.Strings[i]+'% '+and_or+#13#10 //Son kelime değil ise
else // parametredeki And veya OR ifadesini ekliyoruz.
Result:=Result+TAlan+' like %'+S.Strings[i]+'% '; // Son kelimemizden sonra AND,OR eklemesi yapmıyoruz.
end;
finally
S.Free; // Hafıza kaçağı olmaması için..
end;
end;
Begin
ShowMessage('Select * From DOSYALAR Where '+
ArananKelimeler('ACIKLAMA ',Edit1.Text,'and') );
End;