![[Resim: kp7.jpg]](http://www.access-sql.com/resim/kp7.jpg)
Merhaba..
Hazırladığım bu örneğin çalışma prensibini bir senaryo ile anlatmak sanırım daha açıklayıcı olur..:
Diyelim ki çalıştığımız mağaza için bir uygulama yaptık ve bu uygulamayı diğer personel arkadaşlarımızla beraber kullanacağız.. Fakat sorun şu ki, bu kapsamlı uygulamamızda herkesin her formu açıp her işlemi yapmasını istemiyoruz.. Buna göre bir izin ve erişebilirlik düzeni hazırlamamız lazım..
Şimdi bunu Access’in kendi seçenekleri dışında kendimiz uygulamamız üzerinden yapalım..
Uygulamayı biz Yönetici yetkisi ile kullanacağız..
Mağazamızda Kasiyer olarak görevli Gamze için Yönetici Kontrol Panelimizi açıp önce Kullanıcı Grupları kısmından Kasiyer adı ile bir grup oluşturalım sonra Kullanıcılar kısmından Gamze’nin kaydını yapalım..
Daha sonra uygulamamızı kullanacak diğer kişiler için de ayrı ayrı Kullanıcı Grupları oluşturup kayıtlarını yapalım..
Gruplarımız şu şekilde oluşturalım..:
Yönetici, Kasiyer, Depocu, Muhasebe, Ziyaretçi..
İlave olarak, grupları oluştururken formların zemin rengini de her gruba göre farklı bir renk belirleyebiliyoruz..
Tüm bu grupların kullanıcı kayıtlarını yaptıktan sonra uygulamamızı nasıl kullanacaklarını şekillendirelim..
Yönetici, tüm uygulama üzerinde her işlemi yapma hakkına sahip olacak..
Kasiyer, kayıt ekleyebilmeli, görüntüleyebilmeli, ama mevcut kayıtlar üzerinde silme ve düzenleme yapamamalı..
Depocu da aynı Kasiyer yetkisine sahip olmalı.. (Kasiyer ile yetkisi aynı ise neden ayrı grup oluşturduk birazdan belli olacak) Yani tüm formlara sadece yeni kayıt ekleyebilsin..
Muhasebe grubuna kayıt girişi ve düzenleme izni verelim ama kayıtları silemesin..
Ziyaretçi ise uygulamayı sadece görüntüleyebilsin.. Başka hiçbir şey yapamasın..
Şimdi Kontrol Panelimizden Nesne – Grup İzinleri kısmına gidip Grup İzinlerinin haricinde yukarıda belirlediğimiz izin ve yetkileri oluşturalım..
Evet, artık gruplarımıza bağlı kullanıcılar bu izinlere göre formları görüntüleyip; kayıt ekleme, kayıt düzenleme veya kayıt silme işlemlerini yapabilecekler..
Ama biz şunları da istiyoruz;
- Kasiyer Gamze sadece Satış formundan kayıt yapabilsin, Alış formunu göremesin bile..
- Depocu Mustafa da sadece Alış formunu görsün.. Ama Mustafa Satış formunu göremesin.
- Mustafa (Depocu) ve Gamze (Kasiyer) Durum formunu görebilsinler fakat (hatırlatalım; iki grup da normalde aynı izinlere sahip) Gamze bu formdan kayıt yapabilsin ama Mustafa yapamasın.
- Muhasebeci Kamil tüm formları görebilsin ve grubundaki izinlere göre işlem yapabilsin. Ama Satış formundaki kayıtları düzenleyemesin..
- Yönetici haricindeki gruplar Yönetim Kontrol Paneli formunu göremesinler..
Nesne – Grup İzinleri kısmından yukarıdaki izinleri oluşturalım şimdi..
Hazırladığım bu uygulama ile bunun gibi daha bir çok izin tanımlaması yapabilirsiniz.. Form ve Rapor isimleri kendiliğinden gelmektedir, ayrıca girmeyeceksiniz.. Ayrıca dilediğiniz kadar kullanıcı ve grup ekleyebilirsiniz.. Grup isimleri örnek için verilmiştir, istediğiniz ismi atayabilirsiniz.. Her grup için yedi ayrı renkten birini seçerek form zeminlerini o grubun oturumuna göre renklendirebilirsiniz.. Tüm bunları ve daha fazlasını Yönetici Kontrol Paneli olarak tanımlağımız tek bir form üzerinden yapabilmekte işin güzel kısmı.. Bu forma ilaveler yaparak daha farklı işlemler içinde düğmeler yerleştirilebilir.. (Yedekleme, aktarma vb.)
Son olarak, form ve raporlarınızın yetkilendirmelere göre açılması için Açıldığında Olay Yordamına
1 | Call Yetkiler(Form) |
yazmayı unutmayınız..
Ekteki uygulamada yukarıdaki senaryoya göre gruplar ve kullanıcılar oluşturulmuş haldedir.. Her kullanıcı için giriş şifresi kullanıcı isminin ilk harfidir..
27-Ekim-2009 Tarihli Güncelleme
Bu tarihte,
- Kullanıcıların Formlara Giriş ve Çıkış zamanlarının (Form adı ile beraber giriş – çıkış tarih ve saati) kaydedilmesi için yeni bir tablo ilave edildi..
- Yetki modulü bu yapya göre düzenlendi..
- Yönetici Kontrol Paneli formuna bu kayıtların listelenmesi için düğme ilave edildi..
Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
- Bu yeni tabloyu uygulamanıza alınız..
- Yetki modülünü yenisi ile değiştiriniz..
- Frm_Admin_Panel isimli formu yenisi ile değiştiriniz.. (Opsiyonel)
- Çıkışların kaydı için, formlarınızı Kapandığında olayına
1 Call Cikis(Form)- Açıldığında olayında bir değişiklik yok.. Yani,
1 Call Yetkiler(Form)
11-Mart-2010 Tarihli Güncelleme
Bu tarihte,
- Nesne izinlerini belirlerken, seçenekler arasında raporların da görüntülenmesi sağlandı..
- Kullanıcı Gruplarının raporları görüntüleme izinleri modüle bağlandı..
- Açılış ekranındaki hatalı şifre sayacı çalışmıyordu, düzeltildi..
Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
- Yetki modülünü yenisi ile değiştiriniz..
- Raporların Görüntülenme yetkisi için, raporlarınızın Etkinleştiğinde olayına
1 Call YetkilerRapor(Report)- Hatalı şifre sayacı için Frm_Kullanici_Giris formunun kod sayfasında Option Compare Database satırı altına ilave ediniz..
1 2 Option Explicit Dim YanlisSifre As Integer
Güncellenmiş son hali ektedir..:


