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

#19
Aşağıdaki gibi düzenlenirse olabilir araya ; koyulunca sorun kalmaz
Dim Aranan As String
Dim SqlAra, SqlKrt As String
Dim Aralik As Variant

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, "=<", "<="), "=>", ">=")
        If InStr(Aranan, ";") > 0 Then
        Aralik = Split(Aranan, ";")
            SqlKrt = " WHERE (((tblKayitlar.yasi) " & xAranan & Aralik(0) & ") and ((tblKayitlar.yasi) " & xAranan & Aralik(1) & "))"
        Else
            SqlKrt = " WHERE (((tblKayitlar.yasi) " & xAranan & Aranan & "))"
        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 = ""

        SqlAra = SqlAra & SqlKrt & " ORDER BY tblKayitlar.adiSoyadi"
        lstKayitListesi.RowSource = SqlAra
aşağıdaki kod eklenmiştir
kod sayın @feraz 'a aittir
Private Sub txtAramaKutusu_KeyPress(KeyAscii As Integer)

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

End Sub
.rar ListeKutusuArama_hy3.rar (Dosya Boyutu: 23,18 KB | İndirme Sayısı: 3)
Cevapla
#20
(19/03/2020, 11:04)ozanakkaya yazdı: Örnek uygulamanızı Site Kurallarına uygun olarak yeni cevap sayfasında "Ekler" kısmından ekleyebilirsiniz.
Gönderdiğim örnek uygulamayı tam da istediğim gibi kodlamışsınız, çok teşekkür ediyorum.
Benim paylaşımıma anında müdahil olan berduş arkadaşıma da ayrıca çok teşekkürler ediyorum.

Ayrıca yükleme hususunda da vermiş olduğunuz bilgi için de çok teşekkür ederim. 

Saygılarımla..
Cevapla
#21
Sayın berduş arkadaşım; vermiş olduğun; bilgi için sana çok teşekkür ediyorum.

Saygılarımla..
Cevapla
#22
iyi çalışmalar
Cevapla
#23
sayın @feraz, verdiğiniz bilgi için size çok teşekkür ederim.

Saygılarımla.
Cevapla
#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
Task