Microsoft Access Tablosu Üzerinde CRUD İşlemi Yap - Microsoft Excel


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.

Kod


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

Yararlanılan Kaynaklar
Etiketler
microsoft excel microsoft excel vba microsoft excel vba ado işlemleri microsoft excel vba crud işlemleri microsoft excel vba microsoft access işlemleri microsoft excel vba veri tabanı işlemleri