Skip to main content

AccessTr.neT


Formda Süz İşlemi

Formda Süz İşlemi

Çözüldü #1
Arkadaşlar formda birkaç harf ile süzme işlemi yapmak istiyorum. Site içerisinde aradım aşağıdaki kodu buldum

Sub Suzgec3()
Dim Suz As String
DoCmd.RunCommand acCmdRemoveFilterSort
If InStr(1, Me.Metin131, "*") = 0 Then Suz = Suz & "[Eser Adı]='" & Me.Metin131 & "' And " Else Suz = Suz & "[Eser Adı] Like '*" & Me.Metin131 & "*' And "
Me.Filter = Mid(Suz, 1, Len(Suz) - 4)
Me.FilterOn = True
End Sub


metin131 alanına mehmet yazdığımda eser adı alanında mehmet yazanları getiriyor.
metin131 alanına meh yazdığımda eser adı alanındaki meh içeren tüm kayıtlar gelsin istiyorum fakat yapmıyor.
.rar Süzgeç.rar (Dosya Boyutu: 27,03 KB | İndirme Sayısı: 7)
edacan19, 17-04-2010 tarihinden beri AccessTr.neT
Son Düzenleme: 19/12/2023, 09:25, Düzenleyen: edacan19.
Cevapla
#2
If InStr(1, Me.Metin131, "*") = 0 Then Suz = Suz & "[Eser Adı]='" & Me.Metin131 & "' And " Else Suz = Suz & "[Eser Adı] Like '*" & Me.Metin131 & "*' And "
neden en sonda and var?
sondaki And ler fazla gibi geldi, onları silip dener misiniz?
Not: lütfen her soruya örnek dosya ekleyin
Cevapla
#3
İlk mesajıma örnek ekledim. And leri kaldırdım fakat olmadı.
edacan19, 17-04-2010 tarihinden beri AccessTr.neT
Cevapla
#4
(18/12/2023, 16:20)berduş yazdı: sondaki And ler fazla gibi geldi
kusura 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
Cevapla
#5
İkinci verdiğiniz kod tam aradığım gibi çok teşekkür ediyorum.
Elinize emeğinize sağlık.
edacan19, 17-04-2010 tarihinden beri AccessTr.neT
Son Düzenleme: 19/12/2023, 13:49, Düzenleyen: edacan19.
Cevapla
#6
rica ederim
iyi çalışmalar)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task