Bu dosya, bir UserForm üzerindeki üç ComboBox'u birbirine bağlayan bir örnektir. Önce il seçilir, seçilen ile ait ilçeler ikinci kutuda, seçilen ilçeye ait mahalle ve köyler üçüncü kutuda listelenir. Listeler, ADO bağlantısı ve SQL sorgularıyla doğrudan çalışma sayfasındaki veriden alını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
- Sayfa1: A1:K22 aralığındaki veri tablosu. Il sütunu A'da, MhKy (mahalle/köy) sütunu C'dedir; örnek kayıtlar İstanbul iline aittir (Gökçeali, Subaşı, Akalan, İhsaniye, Kavaklı, Mimarsinan, Tepecik, Güzelce, Kumburgaz, Kıraç gibi). Sorgularda kullanılan Ilce alanı da bu tablonun başlıklarındandır.
- UserForm1: Üç ComboBox içeren form.
- Module1: Formu başlatan modül.
Makrolar
- auto_open (Module1): Dosya açıldığında çalışır ve UserForm1'i gösterir.
- UserForm_Activate: Form açılınca ADODB bağlantısı kurar (Jet OLEDB 4.0, Excel 8.0, ilk satır başlık). Bağlantı dosyanın kendisine yapılır. Ardından Sayfa1'deki farklı il adlarını select distinct sorgusuyla ComboBox1'e doldurur.
- ComboBox1_Change: ComboBox2 ve ComboBox3'ü temizler; seçilen ile ait farklı ilçeleri ComboBox2'ye yükler.
- ComboBox2_Change: Seçilen il ve ilçeye uyan mahalle/köy kayıtlarını ComboBox3'e yükler. İlçe boşsa işlem yapmaz.
- UserForm_Terminate: Form kapanırken bağlantı nesnesini serbest bırakır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin; form kendiliğinden görüntülenir.
- ComboBox1'den bir il seçin.
- ComboBox2'de listelenen ilçelerden birini seçin.
- ComboBox3'te o ilçeye ait mahalle ve köyler görüntülenir.
- Kendi verinizi kullanmak için Sayfa1'deki Il, Ilce ve MhKy başlıklarını koruyarak kayıtları değiştirin.