SQL sorguda nümerik değere göre filtreleme

Katılım
29 Ocak 2024
Mesajlar
254
Excel Vers. ve Dili
Office 2016
Kıymetli hocalarım merhaba,

Aşaıdaki sorguda params değeri boş ("") olduğu zaman tüm verileri çekiyor, eğer bir metin girilirse ona benzerlerini getiriyor.

öğrenmek istediğim eğer mümkünatı var sa; burada benzer mantıkla nümerik değere göre aramak istiyorum.

"BankaAdi" >> "BankaID"
param as String >> integer

param değeri 0 olduğunda tüm veriler gelecek, eğer param değeri 1,2,3........... 100 gibi; 0' dan büyük bir değer girildiği zaman; BankaID alanına göre filtreleyecek...

bu şeklide kodu nasıl düzenleyebilir ?

çözüm önerileriniz için şimdiden teşekkürler,

Kod:
Sub getData(Optional param As String, Optional searchArea As String = "BankaAdi")
Dim SQL As String

     SQL = " SELECT * FROM tableName"
        
''    / / sorgu alanı
        SQL = SQL & " WHERE " & (searchArea) & " like '" & param & "%'"

End Sub

iyi Çalışmalar. dilerim
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,078
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kodu, BankaAdi yerine BankaID üzerinden sayısal bir filtreleme yapacak şekilde düzenlemek için, parametrenin metin (String) yerine tamsayı (Long) olması gerekiyor. Ayrıca, param değeri 0 veya boş olduğunda tüm verileri döndürecek, 0'dan büyük bir değer girildiğinde ise BankaID alanına göre filtreleme yapacak kod aşağıdadır.Kontrol ediniz


Kod:
Sub getData(Optional param As Long = 0, Optional searchArea As String = "BankaID")
    Dim SQL As String       
    SQL = "SELECT * FROM tableName"  
    
    If param > 0 Then
        SQL = SQL & " WHERE " & searchArea & " = " & param
    End If
    
End Sub
 
Katılım
29 Ocak 2024
Mesajlar
254
Excel Vers. ve Dili
Office 2016
Kodu, BankaAdi yerine BankaID üzerinden sayısal bir filtreleme yapacak şekilde düzenlemek için, parametrenin metin (String) yerine tamsayı (Long) olması gerekiyor. Ayrıca, param değeri 0 veya boş olduğunda tüm verileri döndürecek, 0'dan büyük bir değer girildiğinde ise BankaID alanına göre filtreleme yapacak kod aşağıdadır.Kontrol ediniz


Kod:
Sub getData(Optional param As Long = 0, Optional searchArea As String = "BankaID")
    Dim SQL As String      
    SQL = "SELECT * FROM tableName" 
   
    If param > 0 Then
        SQL = SQL & " WHERE " & searchArea & " = " & param
    End If
   
End Sub
Çok teşekkürler Hocam
iyi Çalışmalar dileirm.
 
Üst