Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

SQL kodunu Excel vba koduna Uyarlama

Konu, 'Visual Basic' kısmında sahemi tarafından paylaşıldı.

  1. sahemi

    sahemi Yeni Üye

    Kayıt:
    4 Ocak 2016
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Merhaba,

    Excel 2010 kullanıyorum. Aynı server de iki ayrı veritabanım var, aşağıdaki SQL sorgusunu excele vba koduna olarak nasıl uyarlayabilirim.

    Veri tabanları; DB_MODOKO_WORKDATA, DB_MODOKO
    tablolar; Odeme, Cari

    SELECT po_CariKodu, cari_unvan1 FROM [DB_MODOKO_WORKDATA].[dbo].[Odeme] "Odm"
    LEFT JOIN [DB_MODOKO].[dbo].[Cari] "Car"
    ON Odm.po_CariKodu=Car.cari_kod

    Yardımlarınız için şimdiden teşekkürler.
     
  2. sahemi

    sahemi Yeni Üye

    Kayıt:
    4 Ocak 2016
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Aşağıdaki kodları excelin, dış veri aldan makro kaydet kısmı ile buldum; istediğimi yapıyor,

    With Sheets("Sayfa_1").QueryTables.Add(Connection:=Array( _
    "OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=" & Server &";Use Procedure for repare=1;Auto Translate=True;Packet Size=4096;Workstation ID=Sahin;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DB_MODOKO_WORKDATA"), Destination:=Sheets("Sayfa_1").Range("$A$4"))
    .CommandType = xlCmdSql
    .CommandText = Array( _
    " SELECT po_CariKodu, cari_unvan1 FROM DB_MODOKO_WORKDATA.dbo_Odeme Odm " _
    ," LEFT JOIN DB_MODOKO.dbo.Cari Car " _
    ," ON Odm.po_CariKodu=Car.cari_kod ")
    .RowNumbers = False
    .FillAdjacentFormulas = False
    [COLOR=#2E8B57][FONT=Monaco] .PreserveFormatting = True
    [COLOR=#2E8B57][FONT=Monaco] .RefreshOnFileOpen = False
    [COLOR=#2E8B57][FONT=Monaco] .BackgroundQuery = True
    [COLOR=#2E8B57][FONT=Monaco] .RefreshStyle = xlInsertDeleteCells
    [COLOR=#2E8B57][FONT=Monaco] .SavePassword = False
    [COLOR=#2E8B57][FONT=Monaco] .SaveData = True
    [COLOR=#2E8B57][FONT=Monaco] .AdjustColumnWidth = True
    [COLOR=#2E8B57][FONT=Monaco] .RefreshPeriod = 0
    [COLOR=#2E8B57][FONT=Monaco] .PreserveColumnInfo = True
    [COLOR=#2E8B57][FONT=Monaco] .SourceConnectionFile = _
    [COLOR=#2E8B57][FONT=Monaco] "C:\Users\Sahemi\Documents\Veri Kaynaklarım\Sahin DB_MODOKO_WORKDATA Odeme.odc"
    [COLOR=#2E8B57][FONT=Monaco] .Refresh BackgroundQuery:=False
    [COLOR=#2E8B57][FONT=Monaco] End With

    [COLOR="silver"]--- Ekleme ---

    [FONT=Verdana]Şimdiki sorunum excelde ki buton yardımıyla Sql'den, Sql'e farklı veritabanlarındaki tabloları birleştirme;

    [FONT=Verdana]Aşağıdaki kodu SQL Server Management Studio da çalıştırabiliyorum, ama excele uyarlıyamadım.

    [FONT=Verdana]INSERT INTO [DP_SAHIN].[dbo].[S_1] (po_CariKodu, cari_unvan1)
    [FONT=Verdana]SELECT po_CariKodu, cari_unvan1 FROM [DB_MODOKO_WORKDATA].[dbo].[Odeme] "Odm"
    [FONT=Verdana]LEFT JOIN [DB_MODOKO].[dbo].[Cari] "Car"
    [FONT=Verdana]ON Odm.po_CariKodu=Car.cari_kod[/FONT][/FONT][/FONT][/FONT][/FONT][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR]