Tablo Adı Sorgulama

ragnorak

Altın Üye
Katılım
4 Haziran 2016
Mesajlar
203
Excel Vers. ve Dili
Excel 2021
Altın Üyelik Bitiş Tarihi
03-09-2026
Kod:
Sorgu = "Select [STOK_KODU],[URUN_KODU],[URUN_ADI],[URUN_GRUBU] from [URUN_DOSYALARI] where [STOK_KODU] ='" & ListBox1.LIST(ListBox1.ListIndex, 0) & "' union all " & _
"Select DISTINCT ST.[STOK_KODU],ST.[IS_KODU],IE.[FIRMA_ADI],IE.[IS_KODU] from [SATINALMA_LISTE] as ST left join [" & qfx & "] as IE on ST.[IS_KODU]=IE.[IS_KODU]" & _
"where ST.[STOK_KODU] ='A.H.1001.1127'"
RS.Open Sorgu, con, 1, 3

    Do Until RS.EOF
    With ListBox1
    .AddItem
    .LIST(i, 0) = RS.Fields(1).Value
    .LIST(i, 1) = RS.Fields(2).Value
    .LIST(i, 2) = "Tablo Adı"
    End With
    RS.movenext
    Loop
Yukarıdaki Sorguda .LIST(i, 2) = alanına veriler hangi tablodan geliyorsa o tablonun adını yazdırmak istiyorum.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,294
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
     .List(i, 2) = Replace(Replace(Trim(Split(Split(Sorgu, " where")(0), "from")(1)), "[", ""), "]", "")
.
 

ragnorak

Altın Üye
Katılım
4 Haziran 2016
Mesajlar
203
Excel Vers. ve Dili
Excel 2021
Altın Üyelik Bitiş Tarihi
03-09-2026
236216

Haluk Hocam çözüm çok Şık olmuş. Teşekkür ederim. Yalnız tüm listeye aynı tablonun ismini yazıyor. ID-xxxx.xxx olan kodlar
SATINALMA_LISTE tablosuna ait
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,294
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Benim önerim SQL cümlesindeki ilk tablo adını alır, sizin istediğiniz gibi yapmak için ilgili tablolarda bir alan daha oluşturun ve oraya da tablo adlarını girin. Sonra SQL cümlesinde o alanı da sorgulayarak, getirin.

.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Eğer her tablodan gelen verinin ID numarası farklı harf grubu ile başlıyorsa yani eşleşme olmuyorsa aşağıdaki gibide denenebilir. Aksi durumda Haluk Beyin önerisi geçerlidir.

Kod:
.LIST(i, 2) =iif(left(RS.Fields(1),2)="ID","SATINALMA_LISTE","URUN_DOSYALARI")
 

ragnorak

Altın Üye
Katılım
4 Haziran 2016
Mesajlar
203
Excel Vers. ve Dili
Excel 2021
Altın Üyelik Bitiş Tarihi
03-09-2026
Kod:
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
px = wsh.RegRead("HKCU\Win\Win\061")
.
.
.
.
.LIST(i, 2) = IIf(Left(RS.Fields(1).Value, Len(px)) = px, "SATINALMA LISTESI", "URUN DOSYALARI")
kaydı Reg'den aldığım için bende aynen öyle yaptım Levent Hocam. Teşekkür ederim.
 
Üst