Microsoft Access ile geliştirdiğiniz uygulamada veri girişi sırasında tüm harfleri büyük olarak yazdırmak isteyebilirsiniz. "CapsLock(BüyükHarf) tuşunu nasıl açabiliriz?" sorusunu konunun devamında inceliyoruz.
Öncelikle CapsLock(BüyükHarf) tuşu açık mı bunu kontrol edelim. Eğer açık ise zaten yapacak bir şey yok. Eğer kapalı ise aktif edeceğiz. Eğer bu kontrolü yaptırmazsak zaten açık olan CapsLock(BüyükHarf) tuşunu kapatmış olabiliriz.
Programımızın genelinde kullanacağımız bir modülü projemize ekliyoruz. Bunun için VBA penceresinde iken menüden Insert altından Module'e tıklıyoruz.
Modül açılınca aşağıdaki API tanımlamasını ekliyoruz:
' "VBA Developer's Handbook" isimli kitaptan alınmadır (Sybex, 1997) Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Şimdi CapsLock(BüyükHarf) tuşunun aktif olup olmadığını Boolean değişken türünde geri döndürecek bir fonksiyon yazıyoruz:
Function CapslockAktifmi() As Boolean 'CapsLock tuşunun durumunu geri döndürür CapslockAktifmi = CBool(GetKeyState(vbKeyCapital) And 1) End Function
Artık CapsLock(BüyükHarf) tuşunun durumunu elde edebiliyoruz. Bundan sonraki aşamada bir Form ekliyoruz ve üzerine iki tane etiket ekliyoruz. Etiketlerden birisinin adı lblCapsLockDurumu olacak şekilde güncelliyoruz.
Formun Load yani Açıldığında olayına bir IF-ELSE kod bloğu ekliyoruz. IF ile kontrol ettiğimiz şart kısmında yukarıdaki yazdığımız CapsLockAktifmi() fonksiyonunu yazıyoruz. Böylelikle tuşun açık olması durumunda True değerini elde edebileceğiz. Açıldığında olayındaki kod ise şu şekilde olmalı:
If CapslockAktifmi() Then lblCapsLockDurumu.Caption = "CapsLock zaten açıkmış" lblCapsLockDurumu.ForeColor = vbGreen Else CreateObject("Wscript.Shell").SendKeys "{CAPSLOCK}" lblCapsLockDurumu.Caption = "CapsLock kapalıydı ancak kod ile aktif edildi" lblCapsLockDurumu.ForeColor = vbRed End If
İlk kontrol bloğunda yani IF içinde eğer CapsLock(BüyükHarf) tuşu açık ise form üzerindeki etiketlerin içeriğinde ve renginde güncelleme yapıyoruz. Eğer zaten CapsLock tuşu önceden basılmış ve açılmış ise yapacağımız herhangi bir şey yok çünkü büyük harf ile yazılabilir durumda.
Eğer ki CapsLock(BüyükHarf) tuşu aktif değilse yani CapsLockAktifmi() fonksiyonundan geriye False değer dönmüş ise SendKeys ile CapsLock(BüyükHarf) tuşunu aktif ediyoruz.
Bu yazıda anlatılanların uygulanmış olduğu Access Örnek Uygulamasını İndir :
{jd_file file==2}