Excel Formül
Modül 8: Veritabanı ve Dış Sistem Entegrasyonları

VBA ile Access Veritabanına (MDB/ACCDB) Bağlanma ve Sorgulama

Büyük ölçekli kurumsal projelerde SQL Server veya Oracle gibi sunucular kullanılırken, orta ölçekli yerel ofis otomasyonlarında Microsoft Access (`.accdb` veya `.mdb`) dosyaları harika birer hafif sıklet veritabanı alternatifidir. Excel VBA, ADO kütüphanesini kullanarak tıpkı dev sunucularda olduğu gibi Access dosyalarına da saniyeler içinde bağlanabilir.

Access veritabanına bağlanırken en önemli detay doğru Provider (OLED秉 Driver) seçimidir. Güncel Office sürümlerinde Microsoft.ACE.OLEDB.12.0 sürücüsü kullanılarak bilgisayarınızdaki veya yerel ağınızdaki bir Access dosyası kolayca açılır ve SQL sorgularıyla (SELECT, INSERT, UPDATE) yönetilebilir.

Access Bağlantı Dizesi (Connection String) Yapısı

Dosya yolu doğrudan gösterilerek ADO bağlantısı açılır ve recordset ile veriler çekilir.

Access Veri Çekme Kod Kalıbı

Dim baglanti As Object, kayitlar As Object
Set baglanti = CreateObject("ADODB.Connection")
Set kayitlar = CreateObject("ADODB.Recordset")

' Access dosya yolunu belirterek bağlan
baglanti.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Projeler\Veritabani.accdb;"

' Tablodan verileri seç ve Excel'e aktar
kayitlar.Open "SELECT * FROM PersonelListesi", baglanti
Range("A2").CopyFromRecordset kayitlar

kayitlar.Close: baglanti.Close

Canlı Simülatör: Access Veritabanından Veri Çekme

Aşağıdaki simülasyon, yerel bir Access veritabanı dosyasına bağlanarak personel listesini Excel çalışma sayfasına aktarma sürecini canlandıracaktır. Access'ten Veri Çek butonuna basın.

Visual Basic Editörü
Module1 (Access_Connection)
Sub AccesstenVeriAl()
    Dim conn, rs As Object
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")

    ' Access Dosyasına Bağlan
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Sirket.accdb;"

    rs.Open "SELECT SicilNo, AdSoyad, Unvan FROM Personel", conn
    Range("A2").CopyFromRecordset rs

    MsgBox "Access verileri başarıyla aktarıldı!", vbInformation
End Sub
Canlı Excel Tablo Görünümü
A2
Access Dosyası Okunuyor...
Sicil No
Adı Soyadı
Unvanı
2
3
Microsoft Excel ✕
Access verileri başarıyla aktarıldı!