Bu dosya, Excel'de ADO (ActiveX Data Objects) bağlantısıyla arama yapmanın örnek uygulamasıdır. Sorgu sayfasındaki iki metin kutusuna yazılan ifade, EK ES-4 sayfasındaki liste üzerinde SQL sorgusuyla taranır ve eşleşen satırlar sonuç alanına yazılır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sorgu: Arama sayfasıdır. 6. satırda Sıra, II ve IV başlıkları bulunur; sonuçlar A7 hücresinden başlayarak A:F sütunlarına listelenir. Sayfada formül yoktur, sonuçlar makro ile yazılır.
- EK ES-4: Veri kaynağıdır. Analitik bütçe sınıflandırmasına ait dördüncü düzey gider kodları listesini içerir. Sıra numarası, ikinci düzey açıklama (ör. Subaylar, Genel Kurmay Başkanı, Mareşal, Orgeneral, Korgeneral) ve dördüncü düzey kod sütunları yer alır. Veri A5:F1661 aralığındadır ve tablo olarak tanımlıdır.
Makrolar
- baglan: ADO bağlantısını açar. Excel 2007 ve sonrası için Microsoft.ACE.OLEDB.12.0, eski sürümler için Microsoft.Jet.OLEDB.4.0 sağlayıcısı kullanılır; bağlantı dosyanın kendisine kurulur.
- TextBox1_Change: Kutuya her karakter yazıldığında çalışır. Önceki sonuçları temizler, ardından EK ES-4 sayfasında 3. ve 6. sütunlarda büyük harf, küçük harf, ilk harfi büyük ve yazıldığı biçimdeki varyantlarla LIKE ile içerik araması yapar. Türkçe i/ı dönüşümü ayrıca ele alınır.
- TextBox2_Change: Sayısal arama kutusudur. Girilen değer 1. sütunda sayı olarak, 2. sütunda metin olarak aranır. Ondalık virgül noktaya çevrilir, sayısal olmayan giriş yok sayılır.
- ExcelDepo (Module1): Ay başı ile ay sonu tarihleri arasındaki kayıtları TARİH sütununa göre Select distinct sorgusuyla çeker. Bu yordam Sayfa1 adlı bir sayfa varsayar; bu dosyada o adda sayfa bulunmadığından örnek amaçlı bir koddur.
Nasıl kullanılır
- Dosyayı açıp makroları etkinleştirin.
- Sorgu sayfasına geçin.
- Metin aramak için ilk kutuya, sıra numarası veya kod için ikinci kutuya değer yazın.
- Sonuçlar 7. satırdan itibaren anında listelenir; kutu boşaltıldığında liste temizlenir.
- Kendi verinizde kullanmak için sorgudaki sayfa adı ve A5:F1669 aralığını değiştirin.