Boş Comboboxtan sorgu

Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Merhabalar.
2 adet Combobox'um mevcut, Combobox1 ve Combobox 2.
sorgumu

KOD: TÜMÜNÜ SEÇ
sql="Select [BAYİ DURUMU], [BAYI KODU], PLAKA FROM sorgu WHERE [BAYI DURUMU]=' " & COMBOBOX1.TEXT & " ' AND [BAYI KODU]=' " & COMBOBOX2.TEXT & " ' "


şeklinde yazıdığımda hem bayi durumunun combobox1'e eşit hem de bayi kodunun combobox2 'ye eşit olması koşulunu sağlamış oluyorum. Oysa ben Combobox1' den bir veri seçip combobox2'yi boş bırakıp sorgumu bu şekilde de çalıştırabilirim, veya tam tersi combobox2'den bir veri seçip combobox1'i boş bırakabilirim. Bu durumda sorgumu nasıl yazmam gerekli?

Teşekkürler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Deneme şansım yok şu an.

Aşağıdaki kodları inceler misiniz?

Kod:
Dim Kosul1  As String, _
    Kosul2  As String, _
    sql     As String
If ComboBox1.Value = "" Then
    Kosul1 = "[BAYI DURUMU] Like ""%"""
Else
    Kosul1 = "[BAYI DURUMU] = '" & ComboBox1.Text & "' "
End If
If ComboBox2.Value = "" Then
    Kosul2 = "[BAYI KODU] Like ""%"""
Else
    Kosul2 = "[BAYI KODU] = '" & ComboBox2.Text & "' "
End If
sql = "Select [BAYİ DURUMU], [BAYI KODU], PLAKA FROM sorgu " & _
      "WHERE " & Kosul1 & " AND " & Kosul2
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Teşekkürler ancak benim 10 adet combobox'ım mevcut ve tüm olasılıkları hesaplarsak bu kod cok yorucu olabilir. Sadece bir combobox değil aynı anda 7si dolu 3'ü boş da olabilir. Boş comboboxlar için koşul belirtmeden hepsini sorguya dahil etmesini istiyorum aslında özet olarak .
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
Belki sihirli bir komut vardır, onu da ben bilmiyorum.

Kolay gelsin.
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Daha önce yine aynı konuda sorun yaşamıştım aynı durum için nerdeyse aşağıdaki kodu da vba'da yazmıştım. Ancak bi türlü uygulayamadım şu an istediğime. Peki bu koda bakarak benim istediğime uyarlamamamda yarıdmcı olabilir misiniz ?


("SELECT Cari.Miktari, Cari.YakitStr, Cari.Satis, Cari.ay, Cari.yil, Cari.gun Cari.BolgeId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.yil=" & ComboBox1.Text & ")" & IIf(Len(ComboBox2.Text) = 0, "", " AND (Cari.ay=" & ComboBox2.Text & ")") & IIf(Len(ComboBox3.Text) = 0, "", " AND (Cari.YakitStr='" & ComboBox3.Text & "')") & IIf(Len(ComboBox4.Text) = 0, "", " AND (Cari.BolgeId=" & ComboBox4.Text & ")"))
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Teşekkür ederim. Kodunuzu denedim.
Benim Combobox1 'imin adı : bayidurumu
Combobox2'nin adı : bayikodu

sorgu adlı tablomda bayidurumu ve bayikodu adlarında sütunlar mevcut. Verdiğiniz konu şu şekilde uyarladğımda :

Alıntı:
sql = "Select bayidurumu, bayikodu, plaka FROM sorgu "_& "WHERE bayidurumu=iif(len('" & bayidurumu & "' )=0,bayidurumu, '" & bayidurumu & "' ) and "_& "bayikodu=iif(len('" & bayikodu & "' )=0,bayikodu, '" & bayikodu & "' )"
 
Üst