Ben de global değişken kullanıyorum. Ama siz kurguda hata yapmışsınız sanırım. Şöyle ki; kullanıcı adı seçildiğinde kullanıcı adının, şifrenin ve yetki değerinin de bir değişkene atanması lazım. Bir sonraki aşamada da case select kullanın. Bir accesslist'iniz var zaten. Orada kime hangi yetkiyi verdiğinizi de belirtmişsiniz. Artık gerisi çocuk oyuncağı. Kurguyu böyle kurarsanız sorun çıkmayacaktır.
Bu arada kullanıcı adını seçtiğiniz açılan kutu 2 sütun, şifre gizlenmiş ama bu bilgiyi hiç değerlendirmemişsiniz. Belki gözünüzden kaçtı, şöyle kullanabilirsiniz ve bu eylemden sonra şifreyi kontrol etmek daha kolaydır.
Kod:
acilan_kutu.column(0)
bu şekilde, açılan kutudan seçilen kullanıcı adının karşılığı olan yetkiyi ve şifreyi (hangi column'da ise) değişkene atabilirsiniz. İşi daha da kolaylaştırıp açılan kutuyu 3 sütun yapı. Birinci sütun kullanıcı adı, 2.nci sütun şifre ve 3.ncü sütun da yetki olursa, kullanıcı bir ad seçtiğinde değişkenlere hemen bu değerler atanır. Bunu, açılan kutunun değiştiğinde olayına yazarsanız şöyle oluyor:
Kod:
kullaniciadi_degiskeni= acilankutu.column(0)
kullanicisifre_degiskeni= acilankutu.column(1)
kullaniciyetkisi_degiskeni= acilankutu.column(2)
Global olarak tanımladığınız ve modüle yazdığınız 3 deişken böylece değerlere kavuşmuş oldu. Şimdi form üzerindeki şifre yazılan kutuya girilen değeri kontrol edelim:
Kod:
if me.sifre_metinkutusu = kullanicisifre_degiskeni then formdaki_buton.enabled = true
Böylece basılacak buton aktif edildi. (Bu butonun baştan pasif olması gerekir. Yoksa else ile aksi durumu belitmek ve end if ile olayı bitirmek lazım.) Bu arada basılacak buton için de açılacak formun yetkisi yetki değişkeniyle aynı mantıkla seçilir. Özellikle bu aşamada case select kullanabilirsiniz:
Kod:
Select Case kullaniciyetki_degiskeni
Case "admin"
DoCmd.OpenForm "FRM_ANA", acNormal
Case "USER"
DoCmd.OpenForm "FRM_YETKISIZ", acNormal
Case "MISAFIR"
DoCmd.OpenForm "FRM_MISAFIR", acNormal
.
.
.
.
end select
Sanırım mantığı anladınız. Butonunuz bukalemun gibi, yetkiye göre değişen formları açacak. Aslında çok kolay. Bir deneyin, takıldığınız yerde yardım ederiz.
Kolay gelsin.
İnadına, ille de Accesstr.net...