AccessTr.neT
Like İle Filtreleme Problemi - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Like İle Filtreleme Problemi (/konu-like-ile-filtreleme-problemi.html)



Like İle Filtreleme Problemi - accessman - 07/05/2020

iyi günler malumunuz 
Like "*" & metin & "*"
ile arama yaparken mesela ismi "Mehmet Yıldırım" olan birisini
meh*yıl
şeklinde arayabiliyoruz. Ama bazen isim ile soyismi yerini değiştirerek "Yıldırım Mehmet" yazılabiliyorlar bu durumda doğru sonuç vermiyor 
veya hastanın 
Hipertansiyon, Diabet, Astım
var diğer hastanın ise 
Hipertansiyon, Astım, Diabet
bir başkasının ise
Astım, Diabet, Hipertansiyon  u var. hepsinde aynı hastalıklar var ama yerleri farklı sırada yazılmış

bunu ararken mesela 
hip*as*dia
yazdığımda hastalıklar hangi sırada yazıldığı önemli olmadan her üç hastayıda bize listelese
bunu nasıl yazmak lazım


RE: Like İle Filtreleme Problemi - POWER - 07/05/2020

Örnek ekleyiniz...


RE: Like İle Filtreleme Problemi - accessman - 07/05/2020

örnek ektedir. burada virgül ile ayrılmış hastalıklar her seferinde farklı sırada yazılabiliyor
nasıl yaparsak hangi sırada olduğu farketmeden filtreleyebliriz


Re: Like İle Filtreleme Problemi - POWER - 07/05/2020

Ekteki örnek işinizi görüyormu ? İncelermisiniz...


RE: Like İle Filtreleme Problemi - berduş - 07/05/2020

aramalar arasına 1 boşluk bırakmalısınız buton kodu
Dim AraStr() As String
Dim SqlStr As String
Dim xBit, xBas As Integer

Me.Metin5.Value = Trim(Me.Metin5.Value)
If Len(Me.Metin5 & "") = 0 Then Exit Sub

AraStr = Split(Me.Metin5, " ")
xBit = UBound(AraStr)
xBas = LBound(AraStr)
LstSql = "SELECT kron.kronik FROM kron GROUP BY kron.kronik, kron.[kronik] having  "
For x = xBas To xBit
    SqlStr = SqlStr & " and [kronik] like '*" & AraStr(x) & "*'"
Next x
   LstSql = LstSql & Mid(SqlStr, 5)
   Me.Liste1.RowSource = LstSql

mesela alerji ve depresyon için
Kod:
erj es
yazmanız yeterli


RE: Like İle Filtreleme Problemi - accessman - 08/05/2020

(07/05/2020, 18:14)POWER yazdı: Ekteki örnek işinizi görüyormu ? İncelermisiniz...
elinize sağlık çok güzel olmuş

(07/05/2020, 18:43)berduş yazdı: aramalar arasına 1 boşluk bırakmalısınız buton kodu
Dim AraStr() As String
Dim SqlStr As String
Dim xBit, xBas As Integer

Me.Metin5.Value = Trim(Me.Metin5.Value)
If Len(Me.Metin5 & "") = 0 Then Exit Sub

AraStr = Split(Me.Metin5, " ")
xBit = UBound(AraStr)
xBas = LBound(AraStr)
LstSql = "SELECT kron.kronik FROM kron GROUP BY kron.kronik, kron.[kronik] having  "
For x = xBas To xBit
    SqlStr = SqlStr & " and [kronik] like '*" & AraStr(x) & "*'"
Next x
   LstSql = LstSql & Mid(SqlStr, 5)
   Me.Liste1.RowSource = LstSql

mesela alerji ve depresyon için
Kod:
erj es
yazmanız yeterli
ellerinize sağlık çok güzel çalışıyor