Bu dosya, Access'te tutulan verilerin ADO (ActiveX Data Objects) bağlantısıyla Excel'e nasıl aktarılacağını gösteren bir örnektir. Veri çok büyüdüğünde Excel'i yalnızca arayüz olarak kullanıp verileri Access dosyasında saklamak, çalışma kitabının boyutunu küçük tutar. Örnekteki makro, Access tablosundan şarta bağlı kayıtları çeker ve sayfaya yazar. Kod kendi çalışmalarınıza uyarlanabilir.
Dosyanın içeriği
- Sheet1: Boş sayfadır. Makro çalıştığında sayfadaki her şey silinir ve sorgu sonucu A1 hücresinden itibaren yazılır.
- Description: Örnekte kullanılan Access dosyasını ve tabloyu tanıtır. Dosya adı budget data.accdb, tablo adı Budget olarak belirtilir. Alanlar için olası değerler listelenir: DIVISION (Asia, Europe, N. America, Pacific Rim, S. America), CATEGORY (Compensation, Equipment, Facility, Supplies & Services), MONTH (Jan - Dec) ve sayısal BUDGET alanı. Bu bilgiler farklı filtreleri denemek için kullanılır.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Module1 içinde tek prosedür vardır:- ADO_Demo: Önce Cells.Clear ile sayfadaki mevcut içeriği temizler. Ardından çalışma kitabının bulunduğu klasördeki budget data.accdb dosyasına Microsoft.ACE.OLEDB.12.0 sağlayıcısıyla bağlanır. Budget tablosunda ITEM değeri Lease, DIVISION değeri N. America ve YEAR değeri 2008 olan kayıtları seçer. Sorgu metnini bir mesaj kutusunda gösterir, alan adlarını A1 hücresinden başlayarak başlık satırına yazar, kayıtları CopyFromRecordset ile hemen altına aktarır ve bağlantıyı kapatır.
Nasıl kullanılır
- Zip dosyasındaki çalışma kitabını ve budget data.accdb dosyasını aynı klasöre çıkarın.
- Çalışma kitabını açıp makroları etkinleştirin.
- VBA düzenleyicisinde Tools > References menüsünden Microsoft ActiveX Data Objects 2.x Library başvurusunu işaretleyin; kod bu başvuruyu gerektirir.
- Alt+F8 ile ADO_Demo makrosunu çalıştırın.
- Farklı bir filtre için koddaki sorgu metnindeki ITEM, DIVISION ve YEAR koşullarını değiştirin; tablo ve dosya adını kendi veritabanınıza göre güncelleyin.