Bir Değişkene Atanan Değerin If Döngüsünde Kullanımı

20/09/2018, 11:47

Alper25

Merhaba,

Ekte bulacağınız çalışmamda kullanıcı Tablosuna 2 kullanıcı tanımlı; Alper ve Misafir.

Kurgu şöyle; Eğer Kullanıcı Alper ile girilirse, Başlanılmamış Çalışma Giriş ekranına giriş yetkisi var, misafir ise yok. 

Bunu Başlanılmamış Çalışma Giriş butonuna tıklandığında tetikleyen bir Vba ile yapmaya çalıştım.

Sorun şu, kod her 2 kullanıcıda da ekrana giriş yetkisi var gibi hareket ediyor. Nerede hata yapıyorum?

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

Saygılarımla,
20/09/2018, 12:07

ozanakkaya

Öncelikle Yapılmaması Gereken Ölümcül Hatalar

Modüldeki kodu aşağıdaki ile değiştir

Public GKullanici As String

FAna formundaki butonun tıklandığında olayındaki kodu aşağıdaki ile değiştir.

If Şifre.Value = "" Or IsNull(Şifre) Then

   MsgBox ("Lütfen Geçerli Bir Şifre Giriniz!")
   Exit Sub

ElseIf İsim.Value = "" Or IsNull(İsim) Then

   MsgBox ("Lütfen Geçerli Bir İsim Giriniz!")
   Exit Sub

End If

'Şifre Doğrulama Kodu

If Şifre.Value = Dlookup ("şifre", "kullanicilar", "İsim='" & İsim.Value & "'") Then

GKullanici = Me.İsim.Value

MsgBox ("Şifre DOĞRU")

Dim stDocName As String
   Dim stLinkCriteria As String

   stDocName = "ANA MENÜ"
   DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Komut8_Click:
   Exit Sub

Else
MsgBox ("Şifre YANLIŞ")

End If

Başlamamış Çalışmalar isimli formun yüklendiğinde olayına aşağıdaki kodu ekle

If GKullanici = "Misafir" Then

   MsgBox ("bu formu açmaya yetkiniz yok")
   DoCmd.Close acForm, "Başlamamış Çalışmalar"

End If
20/09/2018, 22:43

Alper25

(20/09/2018, 12:07)ozanakkaya yazdı: Öncelikle Yapılmaması Gereken Ölümcül Hatalar

Modüldeki kodu aşağıdaki ile değiştir

Public GKullanici As String

FAna formundaki butonun tıklandığında olayındaki kodu aşağıdaki ile değiştir.

If Şifre.Value = "" Or IsNull(Şifre) Then

   MsgBox ("Lütfen Geçerli Bir Şifre Giriniz!")
   Exit Sub

ElseIf İsim.Value = "" Or IsNull(İsim) Then

   MsgBox ("Lütfen Geçerli Bir İsim Giriniz!")
   Exit Sub

End If

'Şifre Doğrulama Kodu

If Şifre.Value = Dlookup ("şifre", "kullanicilar", "İsim='" & İsim.Value & "'") Then

GKullanici = Me.İsim.Value

MsgBox ("Şifre DOĞRU")

Dim stDocName As String
   Dim stLinkCriteria As String

   stDocName = "ANA MENÜ"
   DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Komut8_Click:
   Exit Sub

Else
MsgBox ("Şifre YANLIŞ")

End If

Başlamamış Çalışmalar isimli formun yüklendiğinde olayına aşağıdaki kodu ekle

If GKullanici = "Misafir" Then

   MsgBox ("bu formu açmaya yetkiniz yok")
   DoCmd.Close acForm, "Başlamamış Çalışmalar"

End If


Yardımlarınız için teşekkür ederim.