Skip to main content

AccessTr.neT


Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir

Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir

#13
ç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
.rar ListeKutusuArama_hy.rar (Dosya Boyutu: 25,06 KB | İndirme Sayısı: 4)
Cevapla
#14
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]
Cevapla
#15
13. mesajdaki dosya güncelledim
Cevapla
#16
(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 .)
Cevapla
#17
@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
Cevapla
#18
>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.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task