Konu: Memo field'lerde metin araması
Selamlar,
Çok sık soru soruyorum farkındayım ama cehalet zor şey.
Daha önce benzer bir soru sormuştum ama bu kez işim daha zor.
Tüm field'larda serbest metin araması üzerine idi sorum. Bu kez de aynı ancak kullanıcı her field için ayrı sözcükleri arıyorsa ne yapmam gerek diye soracağım şimdi de.
Diyelim 4 memo field var. Bunlar makro, mikro, tani ve yorum olsun. Kullanıcının her field için ayrı arama metinleri girmesine olanak tanıyoruz.
Bir kullanıcının aşağıdaki sözcükleri aradığını düşünelim.
makro için "nodül"
mikro için "tümör"
tani için "hepatit"
yorum boş kalsın.
Yani kullanıcı makro'da "nodül" VE mikro'da "tümör" VE tani'da "hepatit" sözcüklerinin geçtiği kayıtları bulmak istiyor. Yorum bölümü için bir kriteri yok.
Şöyle bir tek üniversal SQL komutu yazdığımda saçma sonuçlar çıkıyor.
m.v1 = "nodül"
m.v2 = "tümör"
m.v3 = "hepatit"
SELECT * FROM hasta WHERE;
ATC(m.v1, makro) > 0 .AND.
ATC(m.v2, mikro) > 0 .AND.
ATC(m.v3, tani) > 0 .AND.
ATC(m.v4, yorum) > 0 INTO CURSOR kayit ORDER BY biopsino
Buradaki sorun yorum bölümüne kullanıcının bir şey yazmaması. Kullanıcı dört alan da arama yapmak isterse sorun çıkmıyor.
Bu durumda her kombinasyon için (örn. bir kullanıcı sadece tani bölümünde arama yapmak isteyebilir ya da hem tani ham de yorum'da arama isteyebilir) ayrı SQL ifadesi mi yazmam gerek. Dört field için sanırım 24 kombinasyon çıkıyor.
Teşekkürler.