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

Visual Basic Code
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 Adlı Kullanıcıdan Alıntı: Ekteki örnek işinizi görüyormu ? İncelermisiniz...
elinize sağlık çok güzel olmuş

(07/05/2020 18:43)berduş Adlı Kullanıcıdan Alıntı: aramalar arasına 1 boşluk bırakmalısınız buton kodu

Visual Basic Code
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