(18/12/2023, 16:20)berduş yazdı: sondaki And ler fazla gibi geldikusura bakmayın dikkatimden kaçmış Me.Filter = Mid(Suz, 1, Len(Suz) - 4) kodu ile zaten sondaki and siliniyormuş
eklediğiniz dosyayı inceledim kod sorusuz çalışıyor
Not: kodda tek sorun önce gereksiz yere and ekleyip sonra da onu almamak için gereksiz işlem yapması
aslında aşağıdaki kod yeterliydi
Sub Suzgec2()
Dim Suz As String
DoCmd.RunCommand acCmdRemoveFilterSort
If InStr(1, Me.Metin5, "*") = 0 Then Suz = Suz & "[Eser Adı]='" & Me.Metin5 & "'" Else Suz = Suz & "[Eser Adı] Like '*" & Me.Metin5 & "*'"
Me.Filter = Suz
Me.FilterOn = True
End Sub
Not 2: yada çok daha basiti tek kodun kullanılması
mesela aşağıdaki kodu kullanırsanız
Sub Suzgec2()
Dim Suz As String
DoCmd.RunCommand acCmdRemoveFilterSort
Suz = "[Eser Adı] Like '*" & Me.Metin5 & "*'"
Me.Filter = Suz
Me.FilterOn = True
End Sub
"ahmet"'i arıyorsanız sadece "ahmet"
"ah" ile başlayanları aramak için "*ah"
"ah" ile bitenleri aramak için "a*h"
"ah" içerenleri aramak için "*ah*"
gibi yaparsanız çok daha esnek olur