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.
Access, Sorgu Filtrelemesinde Alandaki Tüm Bilgilerin Sorgulanması Komutu Nedir
Daha bitmedi maliesef
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.
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.
@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
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
O konulara hiç bulaşmadım
Ö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
O konulara hiç bulaşmadım
(19/03/2020, 19:07)feraz yazdı: Ayrıca bir insanoğlunun >> gibi yazma ihtimalide var))) 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
(19/03/2020, 13:03)berduş yazdı: Aşağıdaki gibi düzenlenirse olabilir araya ; koyulunca sorun kalmazHata bulmaktan kendi dosyamla uğraşamıyorum
aşağıdaki kod eklenmiştirDim 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
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
Konuyu Okuyanlar: 1 Ziyaretçi