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

#24
Rica ederiz üstad mesajlara bakmamıştım berduş hocamızın kodlarını biraz değiştirmiştim.

Bu kodlara göre > yada < ve rakam haricinde veri girilme yasağı koydum yaş için.

Arama kutusu boşsa tümünü listelemede oldu gif önceden eklendiği için orda çıkmıyor.
[Resim: do.php?img=9891]
Private Sub txtAramaKutusu_Change()

Dim Aranan As String, xx As Byte, yy As Byte
Dim SqlAra, SqlKrt As String, parcaAl As String
Dim i As Integer, kelime As String, bul As Integer, bul2 As Integer, bul3 As Integer

SqlAra = " SELECT tblKayitlar.kayitNo, tblKayitlar.adiSoyadi, tblKayitlar.yasi, tblKayitlar.bilgi" & _
        " FROM tblKayitlar"

    Aranan = txtAramaKutusu.text
    kelime = vbNullString

    If cerArama = 1 Then
        SqlKrt = " WHERE (((tblKayitlar.adiSoyadi) like '*" & Aranan & "*'))"
    ElseIf cerArama = 2 Then 'Yas icin

            If Aranan <> "" Or Not IsNull(Aranan) Then
            For i = 1 To Len(Aranan)
                  If Mid(Aranan, i, 1) = ">" Or Mid(Aranan, i, 1) = "<" Or Mid(Aranan, i, 1) = "=" Then
                    kelime = kelime & Mid(Aranan, i, 1)
                  End If
            Next
            On Error GoTo son
            Select Case kelime
                Case ">", "<", "<=", ">="
                    SqlKrt = SqlAra & " WHERE tblKayitlar.yasi " & Aranan & ""
                Case "><"
                    bul = InStr(1, Aranan, ">") + 1
                    bul2 = InStrRev(Aranan, "<")
                    xx = Mid(Aranan, bul, bul2 - bul)
                    yy = Mid(Aranan, bul2 + 1, Len(Aranan))
                    SqlKrt = SqlAra & " WHERE tblKayitlar.yasi > " & xx & " And tblKayitlar.yasi < " & yy & ""
                Case ">=<="
                    bul = InStr(1, Aranan, "=") + 1
                    bul2 = InStrRev(Aranan, "<")
                    bul3 = InStrRev(Aranan, "=")
                    xx = Mid(Aranan, bul, bul2 - bul)
                    yy = Mid(Aranan, bul3 + 1, Len(Aranan))
                    SqlKrt = SqlAra & " WHERE tblKayitlar.yasi Between " & xx & " And " & yy & ""
                Case Else
                    SqlKrt = SqlAra & " WHERE tblKayitlar.yasi" & "=" & Aranan & ""
            End Select

        End If

    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 = ""
       
        If Aranan = "" Or IsNull(Aranan) Then GoTo enson
       
'        SqlAra = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
    If cerArama = 1 Then
        lstKayitListesi.RowSource = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
    ElseIf cerArama = 2 Then
        lstKayitListesi.RowSource = SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
    Else
        lstKayitListesi.RowSource = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
    End If

        Exit Sub
son:
    lstKayitListesi.RowSource = vbNullString
Exit Sub
enson:
    lstKayitListesi.RowSource = SqlAra & " ORDER BY tblKayitlar.adiSoyadi"
End Sub
Private Sub txtAramaKutusu_KeyPress(KeyAscii As Integer)

    If cerArama = 2 Then
        Select Case KeyAscii
            Case 48 To 57, 8, 60, 61, 62 '8 silme 60 < ,62 >,61 =
        Case Else
            KeyAscii = 0
            MsgBox "Sadece >,<,= ve rakamlar girilebilir...", vbCritical, "Hata"
        End Select
    End If

End Sub
.rar ListeKutusuArama_hy.rar (Dosya Boyutu: 29,47 KB | İndirme Sayısı: 6)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir - Yazar: feraz - 19/03/2020, 15:26