Bu dosya, ADO (ActiveX Data Objects) yöntemiyle bir ComboBox'ın sayfadaki tablodan doldurulmasını ve ikinci bir ComboBox'ın birinci ComboBox'ta yapılan seçime göre bağlantılı olarak listelenmesini gösteren makrolu bir örnektir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Makrolar etkinleştirilmezse ComboBox'lar dolmaz.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Makrolar etkinleştirilmezse ComboBox'lar dolmaz.
Dosyanın içeriği
- home: İki ComboBox nesnesinin bulunduğu ana sayfadır. Birinci ComboBox kişi adlarını, ikinci ComboBox seçilen kişiye bağlı kayıtları listeler.
- data: A1:C3 aralığında kaynak tablo yer alır. Başlıklar ID, NAME ve SURNAME alanlarını içerir. Birinci ComboBox bu sayfadan beslenir.
- data1: A1:C5 aralığında bağlantılı liste yer alır. NUMBERID alanı birinci listedeki ID ile eşleşir, TEXT alanı ikinci ComboBox'ta gösterilir.
Makrolar
- Workbook_Open (ThisWorkbook): Dosya açıldığında otomatik çalışır. Excel sürümüne göre uygun OLEDB sağlayıcısıyla (ACE.OLEDB.12.0 veya eski sürümlerde Jet.OLEDB.4.0) dosyanın kendisine bağlanır. data sayfasından ad ve soyadı birleştirilmiş şekilde, ID ile birlikte ada göre sıralı çeker ve ComboBox1'e yükler. Soyad sütunu ve ID gizli sütun olarak tutulur, listede ad ve soyad görünür.
- ComboBox1_Change (Sheet1): Birinci ComboBox'ta seçim değiştiğinde çalışır. ComboBox2'yi temizler, seçilen kişinin ID değerini sorguya koşul olarak ekler ve data1 sayfasında NUMBERID değeri eşleşen TEXT kayıtlarını ComboBox2'ye yükler.
Nasıl kullanılır
- Dosyayı kaydettiği klasörden açın ve güvenlik uyarısında makroları etkinleştirin.
- home sayfasında birinci ComboBox'ı açıp bir kişi seçin.
- İkinci ComboBox'ta seçilen kişiye ait data1 kayıtları listelenir.
- Kendi verinizi kullanmak için data ve data1 sayfalarındaki kayıtları değiştirin; başlık adlarını ve ID ile NUMBERID eşleşmesini koruyun.