Skip to main content

AccessTr.neT


Like İle Filtreleme Problemi

Like İle Filtreleme Problemi

Çözüldü #1
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
@benbendedeilem
Cevapla
#2
Örnek ekleyiniz...
Please return your positive or negative ...
Cevapla
#3
ö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
.rar Database7.rar (Dosya Boyutu: 44,59 KB | İndirme Sayısı: 3)
@benbendedeilem
Son Düzenleme: 07/05/2020, 17:22, Düzenleyen: accessman.
Cevapla
#4
Ekteki örnek işinizi görüyormu ? İncelermisiniz...
.zip Database7.zip (Dosya Boyutu: 74,08 KB | İndirme Sayısı: 4)
Please return your positive or negative ...
Cevapla
#5
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
Cevapla
#6
(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
@benbendedeilem
Son Düzenleme: 08/05/2020, 12:15, Düzenleyen: accessman.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task