AccessTr.neT
Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - 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ığı: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir (/konu-access-sorgu-filtrelemesinde-alandaki-tum-bilgilerin-sorgulanmasi-komutu-nedir.html)

Sayfalar: 1 2 3 4 5 6 7


Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - berduş - 19/03/2020

çerçevenin adı cerArama olarak değiştirildi
görünmez arama kutuları silindi
ayrıca bilgi seçiliyken boş değerleri göstermek için arama kutusuna NULL yazmanız yeterli
isterseniz başka bir değerle değiştirebilirsiniz
dilerim işinize yarar
Dim Aranan As String
Dim SqlAra, SqlKrt As String

SqlAra = " SELECT tblKayitlar.kayitNo, tblKayitlar.adiSoyadi, tblKayitlar.yasi, tblKayitlar.bilgi" & _
        " FROM tblKayitlar"
         
Aranan = txtAramaKutusu.Text
    If cerArama = 1 Then
        SqlKrt = " WHERE (((tblKayitlar.adiSoyadi) like '*" & Aranan & "*'))"
    ElseIf cerArama = 2 Then
        If InStr(Aranan, "<") = 0 And InStr(Aranan, ">") = 0 And InStr(Aranan, "=") = 0 Then xAranan = "=" Else xAranan = ""
        Aranan = Replace(Replace(Aranan, "=<", "<="), "=>", ">=")
        SqlKrt = " WHERE (((tblKayitlar.yasi) " & xAranan & Aranan & "))"
    Else
        SqlKrt = " WHERE (((tblKayitlar.bilgi) like '*" & Aranan & "*'))"
        If Aranan = "Null" Then SqlKrt = " WHERE (((tblKayitlar.bilgi) is null))"
    End If
       
        If Len(Nz(Aranan, "")) = 0 Then SqlKrt = ""

        SqlAra = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
        lstKayitListesi.RowSource = SqlAra



Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - feraz - 19/03/2020

Merhaba.
ilk kodları


Case 2 içindeki

GWhere = "WHERE (((yasi)" & [Forms]![frmKayitlar]![txtAdiSoyadiGecici] & "))"

yerine alttaki gibi değişince eşittir olarak bulunuyor.Bunun gibi değişiklikler olacak.Tam eklerken berduş hocamız eklemiş Img-grin

GWhere = "WHERE yasi=" & [Forms]![frmKayitlar]![txtAdiSoyadiGecici]



Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - berduş - 19/03/2020

13. mesajdaki dosya güncelledim


Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - feraz - 19/03/2020

(19/03/2020, 12:16)berduş yazdı: çerçevenin adı cerArama olarak değiştirildi
görünmez arama kutuları silindi
ayrıca bilgi seçiliyken boş değerleri göstermek için arama kutusuna NULL yazmanız yeterli
isterseniz başka bir değerle değiştirebilirsiniz
dilerim işinize yarar
Dim Aranan As String
Dim SqlAra, SqlKrt As String

SqlAra = " SELECT tblKayitlar.kayitNo, tblKayitlar.adiSoyadi, tblKayitlar.yasi, tblKayitlar.bilgi" & _
        " FROM tblKayitlar"
         
Aranan = txtAramaKutusu.Text
    If cerArama = 1 Then
        SqlKrt = " WHERE (((tblKayitlar.adiSoyadi) like '*" & Aranan & "*'))"
    ElseIf cerArama = 2 Then
        If InStr(Aranan, "<") = 0 And InStr(Aranan, ">") = 0 And InStr(Aranan, "=") = 0 Then xAranan = "=" Else xAranan = ""
        Aranan = Replace(Replace(Aranan, "=<", "<="), "=>", ">=")
        SqlKrt = " WHERE (((tblKayitlar.yasi) " & xAranan & Aranan & "))"
    Else
        SqlKrt = " WHERE (((tblKayitlar.bilgi) like '*" & Aranan & "*'))"
        If Aranan = "Null" Then SqlKrt = " WHERE (((tblKayitlar.bilgi) is null))"
    End If
       
        If Len(Nz(Aranan, "")) = 0 Then SqlKrt = ""

        SqlAra = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
        lstKayitListesi.RowSource = SqlAra
Sayın berduş hocam bence eksiğiniz var.>= gibi koşullarda araya and koşulunu eklemeyi unutmuşşunuz.
Ara kutusuna >14<20 gibi yazarsanız anlarsınız demek istediğimi .)


Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - berduş - 19/03/2020

@feraz bey dediğiniz durum sayı<16 ve sayı>9 gibi bir ifade de doğru ama ben aralığı almadım sadece büyük yada küçük gibi tek yönlü bir koşul aldım
dedikleriniz tabi ki eklenebilir ama şu durumda kullanıcı kaynaklı hata yapma olasılığı çok yüksek iki ifade arasına ";" eklenerek aralık belirlenip durum ayarlanabilir ama dediğim gibi mevcut durumda kullanıcı kaynaklı hatalar işlerin karışmasına neden olabilir ama tabi ki istek olursa eklenebilir


Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - feraz - 19/03/2020

>14<20 yazıncada 14 listeleniyor.
Normalde mantıken operatörler içinde optionbuttonlar olması en mantıklısı.
Arasında olarakta between de kullanılabilir bence abey.