SQL de Vlookup

Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
Herkese iyi geceler,

elimde iki farklı (.txt) dosyası var.

strf1 = "E:\hisse\vlookup.txt"
strf2 = "E:\hisse\IS_kodları.txt"

Aşağıda bir örneği bulunuyor.

Yapmak istediğim şey excel' deki vlookup fonksiyonu gibi bir SQL ifadesi yazmak. Bu, bildiğim kadarıyla inner join ile yapılıyor ancak bulduğum tüm örnekler access dosyaları için verilmiş. (.txt) uzantılı database için hiç örnek bulamadım..

SQL cümlesi kullanarak aşağıdaki SONUÇ tablosuna nasıl ulaşırım acaba ?

Teşekkürler..


Tablo 1 : __________________________________ Tablo 2:
vlookup.txt _______________________________ IS_Kodları.txt

ISIN;qty <<<<<<<<<< kolon başlıkları >>>>>>> ISN;BORSA_KODLARI

trtsahol12;1200 ____________________________ trtsahol12;sahol
trbegdis99;3000 ____________________________ trbegdis99;egdis
tryakbnk34;10000 __________________________ tryakbnk;akbnk
rrresbnk78;135000 __________________________ rrresbnk78;dohol

SONUÇ

ISIN;QTY

sahol;1200
egdis;3000
akbnk;10000
dohol;135000
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
SQL de vlookup

Herkese iyi günler,

biraz araştırma ve bir kaç yurtdışındaki formlara ziyaret sonrasında istediğim sonuca aşağıdaki kodu yazarak ulaştım. Hem "with" ile hem de "inner join" ile aynı sonuca ulaşılıyor.

Faydası olur diye burada paylaşmak istiyorum :

Kod:
Sub hhh()

strFile1 = "E:\IS_Kodları.txt" ' geçici dosyadır.
strFile2 = "E:\vlookup.txt" ' geçici dosyadır.
Set cnn = New ADODB.Connection
Set rst1 = New ADODB.Recordset
With cnn
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\;Extended Properties=""text;HDR=Yes;FMT=Delimited"";"
    .CursorLocation = adUseClient
    .Open
End With

'sql = "SELECT T2.BORSA_KODLARI AS [ISIN], T1.qty AS [QTY] FROM " & strFile2 & " as T1, " & strFile1 & " as T2 WHERE T1.ISIN = T2.ISN;"
'rst1.Open sql, cnn

w = "SELECT T2.BORSA_KODLARI AS [ISIN], T1.qty AS [QTY]  FROM " & strFile2 & " as T1 INNER JOIN " & strFile1 & " as T2 ON T1.ISIN = T2.ISN;"
rst1.Open w, cnn

Open "E:\result.txt" For Output As #1
Print #1, "KOD;ADET"
Do Until rst1.EOF = True
Print #1, rst1(0) & ";" & rst1(1); b
rst1.MoveNext
Loop
Close #1
End Sub
 
Üst