VBA ile Dış Veri Alma ve SQL Sorguları
Milyonlarca satırlık devasa veri tabanları ile çalışırken tüm veriyi Excel'e kopyalamak imkansızdır. Bunun yerine VBA içinde ADO (ActiveX Data Objects) kütüphanesini kullanarak doğrudan SQL sorguları (`SELECT`) çalıştırabilir, filtrelenmiş verileri anında Excel sayfasına aktarabilirsiniz.
ADO ve SQL ile Veri Çekme Mantığı
Bu yöntemde VBA kodları sırasıyla şu adımları izler: Bir bağlantı (Connection) nesnesi oluşturulur, veri tabanına bağlanılır, SQL komutu (`SELECT * FROM Tablo WHERE Satis > 1000`) çalıştırılır ve gelen sonuç seti (`Recordset`) Excel hücresine dökülür.
Örnek SQL Sorgu Kod Kalıbı
Dim conn As Object, rs As Object
Set conn = CreateObject("ADODB.Connection")
' Veritabanı bağlantı dizesi ve SQL sorgusu
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Veri.accdb"
Set rs = conn.Execute("SELECT * FROM Personel WHERE Sehir='İstanbul'")
Range("A2").CopyFromRecordset rs