sorguda tüm değerleri ifade etme

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
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 & " "
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
ADO ile nasıl yapabiliriz.
İnternette CASE when ile yapılabileceğine dair örnekler var ama uyarlamasını yapamadım.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,007
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
12 Aralık 2015
Mesajlar
1,209
Excel Vers. ve Dili
Türkçe Ofis 2007
Kriterlerin bulunduğu form nesnelerini döngüye sokup, dolu olup olmadığına göre, sorgu dizesinin Where kısmını oluşturabilirsiniz.
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
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
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
İ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.
 
Üst