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

#31
Ekledigim dosya zaten öyleydi)
Durumu bildiğim için yazmanıza şaşırmıştım, bitirdiğinizi düşünmüştüm o nedenle
Kolay gelsin, iyi çalışmalar.
Cevapla
#32
Daha bitmedi maliesefImg-grin
Biraz kafa dağıtmak için takulayım dedim buraya.

Öncedende yazdığım gibi >14<20 gibi yazınca sizin dosyada 14 de listeleniyordu o yüzden select case ile yaptım.

Sağolunuz sizede.
Cevapla
#33
@feraz bey bence çalışmanıza eklenmesi gereken tek kod
Aranan = Replace(Replace(Aranan, "=<", "<="), "=>", ">=")
çünkü Access eşittirin yeri değişince maalesef hatalı sonuç veriyor
Cevapla
#34
Hata verir tabii üstadım eşittir zaten < yada > bunun sağında olur her yerde bu kural geçerlidir.Tabii biz anladığmız için biliyoruz bu kuralı bilmeyen için güzel tespit etmilsiniz.

Önceki mesajımdada dediğim gibi bu operatörler için en iyi yöntem seçenekler eklenip ordan filtrelenmeli bu örnekte güzel oldu.

Ayrıca bir insanoğlunun >> gibi yazma ihtimalide var Img-grin
O konulara hiç bulaşmadım Img-grin
Cevapla
#35
(19/03/2020, 19:07)feraz yazdı: Ayrıca bir insanoğlunun >> gibi yazma ihtimalide var Img-grin
))) haklısınız ama elden ne gelir.
19. mesajdaki ek güncellenmiştir. Sayın @feraz 'ın kullandığı yaş için harf engeli eklenmiştir dosya
Cevapla
#36
(19/03/2020, 13:03)berduş yazdı: 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, 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
Hata bulmaktan kendi dosyamla uğraşamıyorum Img-grin

[Resim: MTVlNzNhNWQ3NTUwYmI.png]
[Resim: MTVlNzNhNjI2ZWQwY2Q.png]
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task