Bu dosya, ADO (ActiveX Data Objects) yöntemiyle aynı çalışma kitabındaki bir sayfadan diğerine nasıl veri aktarılacağını gösteren bir örnektir. Sayfa2 üzerindeki düğmeye tıkladığınızda Sayfa1'deki kayıtlar bir SQL sorgusuyla okunur ve Sayfa2'ye 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
- Sayfa1: Kaynak veri sayfasıdır. A1:D45 aralığında çalışır. Başlıklar arasında Sicil No ve Memleket görülür. Sorguda ayrıca Ad Soyad ve Doğum Tarihi alanları kullanılır. Örnek kayıtlarda Kayseri, Kocaeli, İstanbul, Çankırı, Bursa gibi memleketler yer alır.
- Sayfa2: Verinin aktarıldığı sayfadır. Aynı başlık yapısına sahiptir ve üzerinde makroyu çalıştıran bir düğme (CommandButton1) bulunur.
Makrolar
- CommandButton1_Click (Sayfa2): Düğmeye tıklandığında VeriAl makrosunu çağırır.
- VeriAl (Module1): ADODB bağlantısı ve recordset nesnelerini oluşturur. Bağlantı için microsoft.jet.oledb.4.0 sağlayıcısı kullanılır ve kaynak olarak dosyanın kendisi (ThisWorkbook.FullName) açılır. Sorgu, Sayfa1'den Sicil No, Ad Soyad, Memleket ve Doğum Tarihi alanlarını seçer. Aynı Sicil No için yalnızca en büyük Doğum Tarihi değerine sahip kaydı getirmek üzere iç içe bir alt sorgu içerir. Sonuç, CopyFromRecordset ile Sayfa2'nin A2 hücresinden itibaren yazılır. Ardından bağlantı ve recordset kapatılır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'deki verileri inceleyin.
- Sayfa2'ye geçin ve düğmeye tıklayın.
- Sorgu sonucu Sayfa2'de A2 hücresinden başlayarak listelenir.
- Kendi verinize uyarlamak için sorgudaki sayfa ve alan adlarını değiştirin.