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

VBA ve SQL ile Veritabanından Kayıt Silme (DELETE)

Veritabanı yönetiminde iptal edilen siparişler, işten ayrılan personeller veya hatalı girilen kayıtlar tablodan temizlenmelidir. Excel VBA üzerinden harici veritabanındaki bir kaydı kalıcı olarak silmek için SQL dilinin DELETE komutu kullanılır.

Tıpkı UPDATE komutunda olduğu gibi, DELETE komutunda da WHERE koşulu hayati önem taşır. Koşul belirtilmeden çalıştırılan bir DELETE FROM TabloAdi sorgusu, tablodaki tüm verileri söküp atar. Bu nedenle VBA tarafında silme işleminden önce kullanıcıya MsgBox ile onay (Yes/No) sorulması en iyi yazılım geliştirme pratiğidir.

DELETE Komutu ile Kayıt Silme Yapısı

Belirli bir kriteri sağlayan satırı tablodan kaldırmak için aşağıdaki standart SQL komut kalıbı kullanılır.

SQL Veri Silme 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;"

' ID'si 8 olan kaydı veritabanından sil
sqlSorgu = "DELETE FROM Personel WHERE ID = 8"
baglanti.Execute sqlSorgu

baglanti.Close

Canlı Simülatör: SQL Veritabanından Kayıt Silme

Aşağıdaki simülasyon, Excel'den tetiklenen DELETE komutu ile SQL veritabanındaki seçili kaydın silinme sürecini canlandıracaktır. SQL'den Kayıt Sil butonuna basın.

Visual Basic Editörü
Module1 (Delete_Record)
Sub KaydiSil()
    Dim conn As Object, sql As String
    Set conn = CreateObject("ADODB.Connection")

    conn.Open "...Data Source=SERVER_DB..."

    ' Silme Sorgusu
    sql = "DELETE FROM Personel WHERE ID = 12"
    conn.Execute sql

    MsgBox "Seçilen kayıt veritabanından silindi!", vbInformation
End Sub
Canlı Veri Tablosu Görünümü
A2
ID
Personel Adı
Durum
2
12
Ahmet Can
Aktif Kayıt
Microsoft Excel ✕
Seçilen kayıt veritabanından silindi!