Yetkilendirme Problemi

1 2
29/06/2014, 22:40

akdemir1

Merhaba,

Ek'te ki çalışmama sayın Taruz hocanın yetkilendirme uygulamasını entegre ettim fakat bir sorunun var,
Filiz adlı kullanıcının yetki tanımlaması "personel" olarak belirliyorum ve personel grubunun "F_BIRIM" formunu açmasını yasaklıyorum,
Filiz kullanıcısı veya personel olarak tanımlanmış herhangi bir kullanıcı yeni bir birim tanımlmak için F_BIRIM formunu açmak istediğinde "bu formu açma yetkiniz yok" msgboxu çıkıyor fakat arka plandaki formuda kapatıyor ve dolayısıyla ctrl+alt+del yapmak zorunda bırakıyor,

Sayın mehmetdemiral hocamın dediği gibi docmd.close komutu kullanımında bir problem var ama çözemedim,

Değerli yorumlarınız ve yardımlarınız için şimdiden teşekkür ederim,

Saygılarımla...
29/06/2014, 23:05

atoz112

sayın akdemir1,

uygulamanızı incelenmesi için 2007 olarak da eklemek ister misiniz,teşekkürler.

bir ön bilgi olarak belki aşağıdaki gibi kullanmak katkı sağlayabilir:

DoCmd.Close acForm, "kapatilacakformunadi", acSaveYes

iyi çalışmalar,
saygılar.
29/06/2014, 23:16

akdemir1

Atoz112 hocam uygulama 2007-2010 accdb zaten,

2003 olarakmı demek istediniz acaba..

onuda denedim ama malum herzamanki sorun çıkıyor yine "geçerli dosya biçimi gerektiren özellikler kullanıldığından, bu veritabanını önceki bir sürüm biçimindekaydedemezsiniz"

29/06/2014, 23:26

akdemir1

Çevirmeye çalıştım hocam bi bakabilirseniz,
bu şekilde açılacakmı sizde acaba,
saygılar..
30/06/2014, 00:31

atoz112

sayın akdemir1,

öncelikle son eklediğiniz uygulama da 2007de açmadı ne yazık ki.

bu arada gönderdiğiniz kodlama döküman dosyasını incelediğimde aşağıdaki kodlama satırlarında bu bahsettiğiniz durumlara dair diğer bir ifade ile kapatma işleminin olmamasına yönelik isteğinize dair ilgili kodları (DoCmd.Close acForm, formadi satırlarını) geçersiz kılarak sorununuzu giderebilirsiniz.

...'Şartlara Göre Formu Açalım..
If ekleme = 0 Then frm.AllowAdditions = False
If duzenleme = 0 Then frm.AllowEdits = False
If silme = 0 Then frm.AllowDeletions = False
If gorme = 0 Then
MsgBox "Bu formu açma yetkiniz yok! ", , "ERZURUM OTOMASYON"
DoCmd.Close acForm, formadi
End If

If DCount("*", "TNesneIzinleri", _
"nesne = '" & formadi & _
"' AND grup = " & kllnc) > 0 Then

If Ngorme = -1 Then
MsgBox "Bu formu açma yetkiniz yok! ", , "ERZURUM OTOMASYON"
DoCmd.Close acForm, formadi
End If
...

bir de,kodlamaları kontrol ederek içeriğinde bu kapatma işlemini tetikleyecek olan (do.cmd close) satırları araştırabilirsiniz,eğer ki yukarıdaki bilgi yeterli gelmezse.kısacası bir olay yordamı içerisinde sizin bu kapatma işlemini sağlayan kod satırlarını bulup isteğiniz üzerine geçersiz kılmanız yeterli olacaktır kanısındayım.

iyi çalışmalar,
saygılar.
01/07/2014, 00:27

akdemir1

Maalesef hocam hepsini denedim sonuç aynı,
kafam iyice karıştı
1 2