Bu dosya, aynı çalışma kitabındaki bir veri sayfasını ADO bağlantısı ve SQL sorgusu ile filtreleyen makrolu bir şablondur. Ölçütleri giriş hücrelerine yazıp LİSTELE düğmesine bastığınızda, uygun kayıtlar alt tarafta listelenir.
Dosyanın içeriği
- veriler: Filtrelenecek ham kayıtların bulunduğu sayfadır (A1:E193). Sütunlar KOD, ADI, SOYADI, İŞE GİRİŞ TARİHİ ve MAAŞ başlıklarıyla çalışır.
- Sheet2: Filtre ekranıdır. 3. ve 4. satırlardaki C:G hücreleri ölçüt girişi içindir. C5 hücresinde sonuç özeti görünür, sonuçlar C8 hücresinden itibaren listelenir. Örnekte 10 kayıt listelenmiştir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodlar Sheet2 sayfasının kod bölümündedir.- baglanti: Çalışma kitabının kendisine ADO bağlantısı açar. Office sürümüne göre Microsoft.ACE.OLEDB.12.0 veya Microsoft.Jet.OLEDB.4.0 sağlayıcısı kullanılır. Başlık satırı (hdr=yes) dikkate alınır.
- Listele: Önce C8:G655000 aralığındaki eski sonuçları temizler. Ardından
SELECT * FROM [Veriler$] WHERE 1=1sorgusuna, dolu olan ölçütlere göre koşullar ekler. Sorgu çalıştırılır ve sonuç CopyFromRecordset ile sayfaya aktarılır. C5 hücresine kayıt sayısı ve geçen süre yazılır. Kayıt bulunamazsa uyarı mesajı gösterilir.
Filtre mantığı
- KOD, İŞE GİRİŞ TARİHİ, MAAŞ: Yalnızca 3. satır doluysa "büyük eşit", yalnızca 4. satır doluysa "küçük eşit", ikisi de doluysa BETWEEN ile aralık filtresi uygulanır.
- ADI, SOYADI: LIKE '%...%' ile içinde geçen metne göre arama yapılır. İki satır da doluysa iki değerden biri eşleşen kayıtlar gelir.
- Hiçbir ölçüt girilmezse tüm kayıtlar listelenir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sheet2 sayfasında C3:G4 aralığına ölçütleri yazın.
- LİSTELE düğmesine tıklayın.
- Sonuçları C8 hücresinden itibaren inceleyin, C5 hücresinden kayıt sayısını ve süreyi görün.
- Kendi verinizle kullanmak için veriler sayfasındaki kayıtları değiştirin. Sütun başlıklarını aynı tutun.