• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sorguda tüm değerleri ifade etme

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

6-7 kriter girilerek sonuç getirebilen bir sorgu yazmak istiyorum.
Kriterler her zaman olmak zorunda değil.

Örnek olarak 20.11.2018 tarihi varsa bunu sorguya ekleyecek. Tarih boş geçilirse tüm tarihleri getirecek.
Bunun gibi 6,7 farklı kriteri tek sorguda nasıl yazabiliriz.

Kod:
sorgu = "select * from [data] where  ŞK = '" & ComboBox2.Value & "' and Tarih  = " & tar & " "
 
ADO ile nasıl yapabiliriz.
İnternette CASE when ile yapılabileceğine dair örnekler var ama uyarlamasını yapamadım.
 
Son düzenleme:
Merhaba Erdem Bey,

İf sorgusu ile koşullar birleştirilip tek sorgu satırı oluşturulabilir. Forumda benzer bir konu görmüştüm. Bulabilirsem linkini eklerim.
 
Kriterlerin bulunduğu form nesnelerini döngüye sokup, dolu olup olmadığına göre, sorgu dizesinin Where kısmını oluşturabilirsiniz.
 
Alternatif kod

C#:
If TextBox1.Value <> Empty Then xd1 = " and soyadı like '" & TextBox1.Value & "%'"
If TextBox2.Value <> Empty Then xd2 = " and adı like '" & TextBox2.Value & "%'"
If TextBox3.Value <> Empty Then xd3 = " and [Sicil No] like '" & TextBox3.Value & "%'"
If TextBox4.Value <> Empty Then xd4 = " and Personel like '" & TextBox4.Value & "%'"
If TextBox5.Value <> Empty Then xd5 = " and yakini like '" & TextBox5.Value & "%'"
If TextBox6.Value <> Empty Then xd6 = " and giris like '" & TextBox6.Value & "%'"
If TextBox7.Value <> Empty Then xd7 = " and yatis like '" & TextBox7.Value & "%'"
sorgu = "Select * from [Sheets$] where 1=1 " & xd1 & xd2 & xd3 & xd4 & xd5 & xd6 & xd7
 
İf ile sorgu öncesi oluşturarak yapılabiliyormuş. VBA'nın esnekliği burada işimizi gördü.
Bunu sorgu içinde yapılma durumu vardır.
 
Geri
Üst