Access yetkilendirme problemi

1 2
11/06/2012, 15:20

oguzgon

Merhaba yaklaşık 1 yıl aradan sonra tekrar sizlerle olmak güzel ama yine problemlerimle birlikte geldim.
Ekte vermiş olduğum çalışmamda yetkilendirmede problem yaşıyorum.
Çalışmamda Yönetici ve Kullanıcı adlarında 2 grubum var.
Yöneticiye tüm izinleri verdim. Bütün form ve raporlara girip çıktılarını alması için fakat
PERFORMANS DEĞERLENDİRME, SİCİLE GÖRE PERFORMANS DEĞERLENDİRME ve HASTA ZİYARET ve SİCİLE GÖRE HASTA ZİYARET raporları açılmıyor.
Kullanıcıda ise PERFORMANS DEĞERLENDİRME, SİCİLE GÖRE PERFORMANS DEĞERLENDİRME ve HASTA ZİYARET ve SİCİLE GÖRE HASTA ZİYARET form ve raporlarına girişini ve çıktı almasını engeledim.
Kullanıcıdaki problemim; Kullanıcı formları açmaya çalıştığında yetkisi olmadığına dair mesaj çıkıyor fakat raporlarda uyarı mesajı çıkmıyor ve raporlar açılmıyor gibi görünüyor ama arka planda açılıyor.
Yönetici şifresi:y
Kullanıcı şifresi:k
Yardımcı olabilirseniz sevinirim.
11/06/2012, 20:18

ozanakkaya

Raporların Açılan özelliklerini Evet olarak değiştir,
raporların yetkiye göre açılmaması için, ayrıntının biçimlendiğinde olayına
Call YetkilerRapor(Report)
kodu ekle
12/06/2012, 04:53

oguzgon

İlgin için teşekkür ederim.
Dediklerini yaptım ve sorun düzeldi sayılır.
Yönetici raporları açmak istediğinde artık açılıyor fakat kullanıcı açmak istediğinde de yetkisi olmadığına dair mesaj 2 defa geliyor ve rapor tekrar açılıyor.
Dosyayı tekrar ekliyorum hatam var mı bakabilirmisin?
13/06/2012, 22:43

ozanakkaya

Yetki isimli modülü tasarım görünümünde aç,
en üstteki
option compare database
kodunun hemen altına
Global RaporAdi As String
kodu ekle,


aynı modüldeki "Public Function YetkilerRapor" fonksiyonundaki kodların tamamını aşağıdaki ile değiştir. Fonksiyonun tamamı.

Public Function YetkilerRapor(RaporAd As String)
On Error Resume Next
Dim kllnc As String
RaporAd = RaporAdi
kllnc = AktifKullaniciYetkisi

Dim Rgorme As Integer

Rgorme = Nz(DLookup("goruntuleyebilir", "Tbl_Nesne_Izinleri", _
"nesne = '" & RaporAd & _
"' AND grup = " & kllnc), 0)
If Rgorme = -1 Then
MsgBox "Bu raporu açma yetkiniz yok! ", , "OSMAN GÖNÜLLÜ"
Else
DoCmd.OpenReport RaporAdi, acViewPreview, "", "", acNormal
End If
End Function


YÖNETİM formundaki "PERFORMANS DEĞERLENDİRME" butonunun tıklandığında olayındaki kodları aşağıdaki ile değiştir.


RaporAdi = "Rpr_performans_degerlendirme"
Call YetkilerRapor(RaporAdi)
14/06/2012, 05:14

oguzgon

Sayın ozanakkaya dediklerinizi harfiyen yerine getirdim. Fakat şimdi de Kullanıcı düzelirken Yönetici bozuldu. Kullanıcıya yetki kısıtlaması yaptığımız raporları Yönetici açamıyor. Daha doğrusu açar gibi yapıyor fakat ekrana gelmiyor.
Son yaptığım deiğişiklikleri bir önceki mesajımda güncelliyorum.Bakabilirseniz sevinirim.
Kolay gelsin.
14/06/2012, 20:22

ozanakkaya

sn oguzgon, sizin önceki kodlarınız rapor açıldığında kullanıcı yetki kontrolü yapıyordu. Benim yazdığım kodlar form üzerinden buton tıklandığında, rapor açılmadan önce kontrol yaptırıyor.

Modüldeki fonksiyonu form üzerinden çalışacak şekilde değiştirdim. Bu kod raporda çalışmaz ve type mismatch hatası verir.
Bu yüzden raporda "Call YetkilerRapor(Report)" şeklindeki kodları silmeniz gerekiyor.

Rapordaki "Call YetkilerRapor(Report)" kodunu sildikten sonra kullanıcı olarak oturum açıp kod uyguladığım "PERFORMANS DEĞERLENDİRME" butonuna tıkladığımda uyarı verip rapor açılmadı. Yönetici olarak oturum açtığımda rapor açıldı.
1 2