Soru ADO ile aynı sütunda çoklu seçim ile değer sorgulama

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Arkadaşlar merhaba,

ADO ile verileri kaydettiğim access veritabanının SUREKLI_ZIYARETCILER tablosunda yer alan FIRMAADI sutunundaki sadece BIRINCI, IKINCI ve UCUNCU isimli degerleri listbox a almak istiyorum. Normal şartlarda AND operatörü ile farklı gereklilikler üzerinde çalışma yapmış ve sonuç almıştım ancak OR operatörü ile hiç çalışmamıştım ve sanıyorum aşağıdaki sql satırında bir hata yapıyorum. Bir fikri olan varsa ve paylaşırsa şimdiden çok teşekkür ediyorum.


Kod:
tanimlanan = "SELECT [FIRMAADI] FROM  [SUREKLI_ZIYARETCILER] WHERE [FIRMAADI] ='" & BIRINCI & "' OR FIRMAADI ='" & IKINCI & "' OR FIRMAADI ='" & UCUNCU & "' "
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,397
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Kod:
WHERE [FIRMAADI] in ('BIRINCI','IKINCI','UCUNCU')"
şeklinde dener misiniz?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Benim anladığım BIRINCI, IKINCI ve UCUNCU değişken adları.

Sorunlu denilen SQL benim yaptığım denemede çalıştı...

Diğer yandan; Sn. Şahin'in alternatifinde ise bu değişkenleri aşağıdaki gibi bir diziye bunları aktardıktan sonra IN operatörünü kullanmak gerekir;

Değişkenlerin orjinal çalışmada nasıl doldurulduğunu bilemiyorum, onun için ben sembolik olarak atama yaptım.....

C++:
    Dim myArr(1 To 3)
 
    BIRINCI = "Firma4"
    IKINCI = "Firma7"
    UCUNCU = "Firma2"
 
    myArr(1) = Chr(34) & BIRINCI & Chr(34)
    myArr(2) = Chr(34) & IKINCI & Chr(34)
    myArr(3) = Chr(34) & UCUNCU & Chr(34)
 
 
    strSQL = "Select [FIRMAADI] From [SUREKLI_ZIYARETCILER] Where [FIRMAADI] In (" & Join(myArr, ",") & ")"
.
 
Son düzenleme:

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Mehmet Bey ve üstat Haluk Bey ilgi ve desteğiniz için teşekkür ederim. Haluk Hocamın kodları ile işimi gördüm, elinize emeğinize, yüreğinize sağlık
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
412
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba.

Açılmış bu konu ile ilgili şöylesi bir sorum olacak. Aşağıda görünen sorgu kendi dosyamda çalışıyor. Ancak excel sayfası üzerinden sorgu yapıyorum ve verileri listview e yüklüyorum. Ancak IN özelliğinden yararlanırken birden fazla textboxtan yararlanıyorum. IN özelliğini değişen parametre sayısına daha pratik nasıl kullanabilirim.

Kendi dosyamda örneğin para birimi olarak TL USD ve EUR kullanıyorum. Bunun için 3 ayrı textbox kullanmaktayım. Para birimi sayısı artarsa textbox eklemek zorunda kalacağım. Bunun önüne geçmek için daha pratik bir kod yapısına ihtiyacım varken bu konuya rastladım. Bunu yapmak mümkün mü?


Kod:
      My_Query = "Select [Stok_Kodu],[Stok_Tanımı],[İşlem Tipi],[Ticari Unvan],[Tarih],[Departman],[Fiyat],[KDV Türü] From [Veri$A:AR] Where [Tarih] >=  " & CLng(First_Date) & " And [Tarih] <= " & CLng(Last_Date) & " And [Ana_Grup] >=  " & com5 & " And   [Ana_Grup] <= " & com6 & "" & _
      " And [Departman] In ('" & TextBox10 & "' , '" & TextBox11 & "' , '" & TextBox12 & "' , '" & TextBox13 & "' , '" & TextBox14 & "' , '" & TextBox15 & "' , '" & TextBox16 & "' , '" & TextBox17 & "' , '" & TextBox18 & "' , '" & TextBox19 & "') " & _
      " And [İşlem Tipi] In ('" & TextBox30 & "' , '" & TextBox31 & "' , '" & TextBox32 & "' , '" & TextBox33 & "' , '" & TextBox34 & "' , '" & TextBox35 & "' , '" & TextBox36 & "' , '" & TextBox37 & "' , '" & TextBox38 & "' , '" & TextBox39 & "') " & _
      " And [KDV Türü]  In ('" & TextBox50 & "' , '" & TextBox51 & "' , '" & TextBox52 & "' , '" & TextBox53 & "') " & _
      " And [Para Birimi] In ('" & TextBox60 & "' , '" & TextBox61 & "' , '" & TextBox62 & "') " & _
      " And [Lokasyon] In ('" & TextBox70 & "' , '" & TextBox71 & "' , '" & TextBox72 & "') "
 
Üst