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
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
Bir hücredeki değere göre sql sorguyu filitreleme yaparmısınız