İpuçları
İki Farklı Değişken Koşula Bağlı Veri Çekme
İki Farklı Değişken Koşula Bağlı Veri Çekme, ilgili işlemin VBA kodları ile nasıl yapıldığını öğreten bir Hazır Makro Kodu içermektedir.
Excel VBA ile İki Farklı Değişken Koşula Bağlı Veri Çekme
- conn ve rs nesneleri, veritabanı bağlantısı ve sorgu sonuçları için kullanılmaktadır.
- connectionString, veritabanına bağlanmak için kullanılan bağlantı dizesidir.
- kosul1 ve kosul2, sorgunun filtreleme koşullarını belirlemektedir.
- sorgu değişkeni, SQL 'SELECT' sorgusunu içermektedir ve iki koşulu (kosul1 ve kosul2) kullanmaktadır.
- rs.Open metodu, SQL sorgusunu çalıştırmaktadır ve sonuçları rs nesnesine yüklemektedir.
- Do While döngüsü, sorgu sonuçları üzerinde dolaşmaktadır ve her bir kaydı işlemektedir.
- Son olarak, rs ve conn nesneleri kapatılarak kaynaklar serbest bırakılmaktadır.
Bu kodu kullanmadan önce, veritabanı yolu ve tablo/sütun adlarınızı kendi veritabanınıza göre güncellemeniz gerekmektedir. Ayrıca, bu tür bir işlemi gerçek veritabanında yapmadan önce test veritabanında deneme önerilmektedir.
Hazır Kod
Sub KosulluVeriCekme() Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim sorgu As String Dim connectionString As String Dim kosul1 As String Dim kosul2 As Integer ' Veritabanı bağlantı dizesi (Örnek olarak Access veritabanı kullanılmıştır) connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:yolveritabani.accdb;" ' Bağlantı nesnesini oluştur Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open connectionString ' Koşulları ayarla kosul1 = "ÖrnekMetin" kosul2 = 100 ' SQL sorgusu sorgu = "SELECT * FROM TabloAdi WHERE Sutun1 = '" & kosul1 & "' AND Sutun2 > " & kosul2 ' Sorguyu çalıştır ve sonuçları al rs.Open sorgu, conn ' Sonuçları işle (Örnek olarak sonuçları hemen mesaj kutusunda gösteriyoruz) Do While Not rs.EOF MsgBox "Sutun1: " & rs.Fields("Sutun1").Value & ", Sutun2: " & rs.Fields("Sutun2").Value rs.MoveNext Loop ' Bağlantıyı kapat rs.Close conn.Close End Sub
İçerikte dosya yoktur, kodları kendi çalışmalarınıza uyarlayabilirsiniz.
Faydalanılması temennisiyle