Bu dosya, bir UserForm üzerindeki üç ComboBox'ı ADO ile birbirine bağlar. Önce meslek seçilir, ardından o mesleğe ait yaşlar, en son da seçilen meslek ve yaşa uyan isimler listelenir. Veriler çalışma kitabının kendi sayfasından SQL sorgularıyla çekilir.
Not: Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Not: Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: Formu açan CommandButton1 düğmesinin bulunduğu sayfadır.
- Sayfa2: A1:K12 aralığındaki kaynak listedir. Meslek (öğretmen, öğrenci, hademe, marangoz) ve isim (ali, ayhan, hakan, berke, deniz) sütunları sorguların veri kaynağıdır. Sorgular "Yas" alanını da kullanır; Yaş sütunu sayfadaki başlıklar arasında bulunmalıdır.
Makrolar
- CommandButton1_Click: Sayfa1'deki düğmeye basıldığında UserForm1 formunu açar.
- auto_open: Dosya açıldığında formu otomatik gösterir. auto_close prosedürü boştur.
- UserForm_Activate: Dosyanın kendisine ADO bağlantısı kurar. Sağlayıcı olarak VBA7 ortamında Microsoft.ACE.OLEDB.12.0, eski sürümlerde Microsoft.Jet.OLEDB.4.0 kullanılır. Ardından Sayfa2'deki benzersiz meslekleri ComboBox1'e yükler.
- ComboBox1_Change: Diğer iki kutuyu temizler; seçilen mesleğe ait benzersiz yaşları ComboBox2'ye doldurur.
- ComboBox2_Change: Seçilen meslek ve yaşa uyan isimleri ComboBox3'e doldurur ve ilk ismi seçili getirir.
- 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 otomatik olarak görüntülenir.
- Formu kapatırsanız Sayfa1'deki düğmeyle yeniden açabilirsiniz.
- ComboBox1'den bir meslek seçin.
- ComboBox2'de listelenen yaşlardan birini seçin.
- ComboBox3'te o meslek ve yaşa ait isimler listelenir.
- Kendi verinizi kullanmak için Sayfa2'deki listeyi aynı sütun başlıklarıyla değiştirin ve dosyayı kaydedip yeniden açın.