Excel-SQL Server Bağlantısı

Excel ile SQL serves bağlantısı kurmak aslında oldukça kolaydır. Eğer sadece görüntüleme ile ilgileniyorsak, bunun için Power Query kullanmak yeterli olacaktır. Ancak update,insert gibi işlemler yapmak istiyorsak, vba bunun için en uygun yöntemdir. Aşağıdaki video’da olabildiğince net bir biçimde anlatmaya çalıştım. Ayrıca video içinde yer alan kodlara da aşağıdan ulaşabilirsiniz.

Dim baglanti As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim sunucu, veritabani, id, sifre, sorgu As String

sunucu = “DESKTOP-HH57JKD\SQLEXPRESS”

veritabani = “AdventureWorks2014”

id = “”

sifre = “”

sorgu = “SELECT * FROM [HumanResources].[Department] Where [GroupName]=’Manufacturing'”

baglanti.Open “Driver={SQL SERVER};Server=” & sunucu & “;Database=” & veritabani & _ “;Uid=” & id & “;Pwd=” & sifre & “;”

rs.Open sorgu, baglanti, adOpenStatic

With Range(“A1:AA1000”)

.ClearContents

.CopyFromRecordset rs

End With

rs.Close

baglanti.Close

Similar Posts

2 Comments

  1. Hocam emeğinize sağlık. Sayenizde hevesimiz artıyor
    Excell den sql server e veri eklemek, kaydetmek istiyorum
    eğer bunuda başarırsam müekemmel bir proje yapmış olucam
    Yardımcı olurmusunuz
    kodda “rs.AddNew” kısmı hatalı

    Sub SQL_Cariden______Tahsilat() ‘ SQL server için

    If FRM_Kasa.Cb_Proje = FRM_Kasa.Cb_Cari = “” Or FRM_Kasa.Txt_Aciklama = “” Or FRM_Kasa.Cb_Kasa = “” Then
    MsgBox “Lütfen bütün bilgileri doldurunuz!”, vbCritical, “Uyarı!”
    Exit Sub

    Else

    Dim baglanti As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sunucu, veritabani, id, sifre, sorgu, E, F, G, H As String

    sunucu = “DESKTOP-16AC3OK\SQLEXPRESS”
    veritabani = “Projem”
    id = “”
    sifre = “”
    sorgu = “SELECT *FROM Veriler ”

    baglanti.Open “Driver={SQL SERVER};Server=” & sunucu & “;Database=” & veritabani & _
    “;Uid=” & id & “;Pwd=” & sifre & “;”

    rs.Open sorgu, baglanti, adOpenStatic

    rs.AddNew ‘rs.Insert INTO
    rs.Fields(1).Value = FRM_Kasa.Txt_Tarih
    rs.Fields(2).Value = FRM_Kasa.Cb_Proje
    rs.Fields(3).Value = FRM_Kasa.Cb_Kasa ‘kasa
    rs.Fields(4).Value = FRM_Kasa.Cb_Cari
    rs.Fields(5).Value = Null ‘FRM_Kasa.Cb_Stok
    rs.Fields(6).Value = FRM_Kasa.Txt_Aciklama
    rs.Fields(7).Value = Null ‘FRM_Kasa.Txt_Miktar
    rs.Fields(8).Value = Null ‘FRM_Kasa.Txt_BirimFiyat
    rs.Fields(9).Value = Null ‘FRM_Kasa.Txt_Tutar ‘cari borç
    rs.Fields(10).Value = FRM_Kasa.Txt_Tutar ‘Cari alacak
    rs.Fields(11).Value = FRM_Kasa.Txt_BelgeNo

    rs.Fields(12).Value = FRM_Kasa.Label3.Caption

    rs.Fields(13).Value = FRM_Kasa.Txt_KayitTarihi
    rs.Fields(14).Value = Null ‘0 ‘”” ‘virman borç”
    rs.Fields(15).Value = Null ‘0 ‘”” ‘virman alacak”
    rs.Fields(16).Value = Null ‘0 ‘”” ‘Açıklama 2″
    rs.Fields(17).Value = “Proje” ‘proje_virman durumu
    rs.Fields(18).Value = FRM_Kasa.Txt_Tutar ‘proje_virman durumu’proje_virman durumu

    rs.Update
    rs.Close
    baglanti.Close

    Sheets(“Anasayfa_SQL”).Range(“e1”) = FRM_Kasa.Cb_Cari

    Txt_BelegeNo = “”
    Cb_Proje = “”
    Cb_Cari = “”
    Txt_Aciklama = “”
    Txt_Tutar = “”
    ThisWorkbook.Save

    End If

    SQL_Sayfa_ayari
    End Sub

  2. Bir hücredeki değere göre sql sorguyu filitreleme yaparmısınız

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.