Microsoft Access veri tabanına bağlanarak bir tabloda üzerinden veri listeleme, kayıt ekleme, kayıt güncelleme, kayıt silme işlemlerini bir örnek ile gösteren VBA kodu alternatifidir.
Option Explicit
'--------------------------------------------------
'Bağlantı Değişkeni
'--------------------------------------------------
Dim baglanti As ADODB.Connection
'--------------------------------------------------
'Veri tabanına bağlan.
'--------------------------------------------------
Sub Baglan()
Set baglanti = New ADODB.Connection
baglanti.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" _
& ThisWorkbook.Path & "\OrnekVeriTabani.accdb"
baglanti.Open
Debug.Print "Bağlantı kuruldu."
End Sub
'--------------------------------------------------
'Veri tabanı bağlantısını kes.
'--------------------------------------------------
Sub BaglantiyiKes()
On Error Resume Next
baglanti.Close
Debug.Print "Bağlantı kesildi."
Set baglanti = Nothing
On Error GoTo 0
End Sub
'--------------------------------------------------
'Veri listele.
'--------------------------------------------------
Sub VeriListele()
Dim sorguMetni As String
Dim kayitSeti As ADODB.Recordset
Dim oge As Object
Dim alan As Range
Baglan
sorguMetni = "SELECT * FROM kisiler"
Set kayitSeti = New ADODB.Recordset
kayitSeti.Open sorguMetni, baglanti
ThisWorkbook.Sheets(1).Range("A1").Select
For Each oge In kayitSeti.Fields
ActiveCell.Value = oge.Name
ActiveCell.Offset(0, 1).Select
Next
Set alan = ThisWorkbook.Sheets(1).Range("A2")
alan.CopyFromRecordset kayitSeti
Range("A1").CurrentRegion.EntireColumn.AutoFit
BaglantiyiKes
End Sub
'--------------------------------------------------
'Kayıt ekle.
'--------------------------------------------------
Sub KayitEkle()
Dim sorguMetni As String
Baglan
sorguMetni = "INSERT INTO kisiler(ad, soyad, eposta) " _
& "VALUES('Ezgi', 'BCD', 'ezgibcd@gmail.com')"
baglanti.Execute sorguMetni
BaglantiyiKes
End Sub
'--------------------------------------------------
'Kayıt güncelle.
'--------------------------------------------------
Sub KayitGuncelle()
Dim sorguMetni As String
Baglan
sorguMetni = "UPDATE kisiler " _
& "SET soyad='ABCDEF', eposta='fazliabcdef@hotmail.com'" _
& "WHERE id=6"
baglanti.Execute sorguMetni
BaglantiyiKes
End Sub
'--------------------------------------------------
'Kayıt sil.
'--------------------------------------------------
Sub KayitSil()
Dim sorguMetni As String
Baglan
sorguMetni = "DELETE FROM kisiler " _
& "WHERE id=6"
baglanti.Execute sorguMetni
BaglantiyiKes
End Sub