VBA ve SQL ile Veritabanına Kayıt Ekleme (INSERT INTO)
Önceki dersimizde Excel içerisine dış veritabanından nasıl veri çekeceğimizi (SELECT) öğrendik. Kurumsal otomasyonlarda bunun tersi de çok sık yapılır: Kullanıcının Excel UserForm üzerinden veya hücrelere yazdığı yeni sipariş, müşteri veya işlem verileri doğrudan harici SQL veritabanına kaydedilmelidir.
VBA ile harici bir veritabanına veri göndermek için ADO bağlantısı açılır ve SQL dilinin en temel komutlarından biri olan INSERT INTO komutu baglanti.Execute metodu ile çalıştırılır. Bu sayede veriler anlık olarak sunucuya işlenir.
INSERT INTO Komutu ile Veri Gönderme Yapısı
Hücrelerden okunan değişkenler SQL komutunun içine birleştirilerek (Concatenation) sorgu metni oluşturulur ve çalıştırılır.
SQL Veri Ekleme Kod Kalıbı
Dim baglanti As Object
Dim sqlSorgu As String
Set baglanti = CreateObject("ADODB.Connection")
baglanti.Open "Provider=SQLOLEDB;Data Source=SUNUCU_IP;Initial Catalog=MusteriDB;User ID=admin;Password=123;"
' Excel hücresinden veriyi al ve SQL ile ekle
sqlSorgu = "INSERT INTO Musteriler (AdSoyad, Sehir) VALUES ('Ahmet Yılmaz', 'İstanbul')"
baglanti.Execute sqlSorgu
baglanti.Close