Kullanıcı Yetkisine Göre Form Açtırmak

1 2
01/02/2009, 20:14

derebeyi

Selamlar Sayın Hocalarım...

Kullanıcıları tanımlandırdım. Kullanıcılar için izinleri ayarladım. Herşey tamam. Sorun yok. Sınırlı Kullanıcının (Kullanıcı) gireceği formlarda değişiklik, ekleme, silme gibi değişiklikleri yapamaması için de şu kodu yazdım:

Kod:
Private Sub Form_Current()

Dim SonKayit As String
Dim Yetki As String
Dim ctl As Control

SonKayit = DMax("[ID]", "[tblKullaniciLoglari]")
Yetki = DLookup("[txtKullaniciYetkisi]", "[tblKullaniciLoglari]", "[ID]=" & SonKayit)

If Yetki = "Yönetici" Then
Else

MsgBox "Sisteme Kısıtlı Kullanıcı olarak giriş yaptınız. Bazı işlemleri yapamazsınız.", vbInformation, "Lütfen Dikkat..."

Form.AllowAdditions = False
Form.AllowDeletions = False
Form.AllowEdits = False

End If

End Sub

Bu kodun aynısını Public Function YetkiKontrol() şeklinde yapıp formların Açıldığında olayına Call YetkiKontrol yazıp denediğimde hata alıyorum. Hata da şu:

Kod:
Compile error
Expected variable or procedure, not module

Nerde hata yapıyorum acaba?

Yukarıdaki kodu da ben yazdım.
Log kayıtlarının yazıldığı tablodan en son giriş yapan kişinin ID numarasına DMax ile buldum. Sonra gelen sonucu da Dlookup ile birleştirdim. Gelen değer "Yönetici" ile eşleşirse boş (Mesaj da verdirilebilir) değilse engellemeler falan...

Bu kodu her formumun başına yazmak istemiyorum. Bir defa modul oluşturur, istediğimde de çağırırım diye düşündüm ama bi türlü işin içinden çıkamadım.

Nerde hata yapıyorum anlayamadım.

Yardımlarınız için şimdiden teşekkürler...

Kolay gelsin...
01/02/2009, 21:05

tdsharun

Sayın derebeyi,
Keşke bir örnek gönderseydin. Şimdi denemek için örnek hazırlamak zorunda kalacağız, erindiğimizden de sana yardım edemeyeceğiz.
Bu arada modülden call ile çağırmak için global modül olması gerekiyor sanırım. Acaba hata o mudur?
01/02/2009, 21:23

derebeyi

Hocam, Global olarak da denedim. Bi türlü olmuyor. Kodları direk yazınca oluyor ama Function, Public Function yapıp Call ile çağırınca bi türlü olmuyor.

Örneği eklemeyi düşündüm de, gerek yok gibi geldi. Neyse, örnek ekte hocam.

Çalışması gereken yer frmKurumBilgileri ve ona bağlı alt formlar...

Kolay gelsin...
01/02/2009, 22:06

syrup

Sn derebeyi, fonksiyonun ismini derebeyi yap ve öyle çağır düzelir
01/02/2009, 22:13

derebeyi

Hemen deniyorum hocam...
Valla bi de çalışırsaaaa...
01/02/2009, 22:23

tdsharun

tabii ki çalışır. Doğru demiş. Fonksiyon ile modül aynı isim olunca karışır iş
Yalnız
Kod:
Else

Form.AllowAdditions = False
Form.AllowDeletions = False
Form.AllowEdits = False

End If

bölümü eğer kullanıcı yetkisizse hata veriyor.
1 2