Öncelikle macro olarak hazırladığın kontrolleri, formun dizayn modunda iken Design menüsünün en sonundaki Tools sekmesinde bulunan Convert Form’s Macros to Vısual Basic ile
Vba koduna dönüştürdüm. (Nasıl dönüştürdüm? Form dizayn modda iken, Convert Form’s Macros to Vısual Basic’e tıkladım. Gelen pencerede Convert tuşuna tıkladım. Benim için form üzerindeki tüm macro ile hazırlanmış kontrollerin işlevlerini koda çevirdi.)
ALT + F11 kısayol tuşu bu kodlara ulaşabilirsin.
Liste Kutusu kontrolü içindeki verilerden istediğini seçili yapabilmen için,
Me.ListeKutusuAdı.Selected(ListeKutusuSatırIDNumarası) = True
Kodunu kullanabilirsin.
Bir deneme butonu ekler ve bu butonun Click olayına
Me.Liste123.Selected(2) = True
yazarsan butona her tıkladığında listekutusu kontrolü içindeki verilerden 2.sırada olanı seçili yapmış olursun.
Buradaki “
ListeKutusuSatırIDNumarası” değerini de formuna eklediğin ileri, geri, ilk kayıt ve son kayıt butonları ile form üzerinde değişen ID numarasına bağlayınca istediğin işlemi yapmış olursun.
Yani senin programın içindeki gerçekleşmesini istediğin olay ile ilgili kod
Me.Liste123.Selected(Me.ID) = True
olmalı.
Fakat bir ayrıntı daha var. ListeKutusu kontrolünde verilerin sıralaması 0 (sıfır)’dan başlar. Fakat bizim tablolarımızda ID değeri 1’den başlıyor. Yani biz kodu senin yapmayı istediğin durum için
Me.Liste123.Selected(Me.ID) = True
Olarak kullanırsak ListeKutusu kontrolü içindeki sıralı olan verilerde hep bir sonraki veriyi seçili yapacak. Yani hatalı çalışacaktı.
Bu durumu aşmak için de form üzerindeki ID isimli alandan gelen değeri 1 azaltarak,
Me.Liste123.Selected(Me.ID – 1 ) = True
Yaptık. Böylece doğru olan verinin seçili olmasını sağladık.
Umarım kafanı karıştırmamışımdır. Çünkü bende senin gibi bu konulara öğrenmeye meraklı bir acemiyim.
Eğer yanlışım var ise de değerli hocalarımızdan bu konuda destek rica ederiz.
İyi çalışmalar.