Giriş ekranı şifresi

14/10/2015, 18:02

neco_can

merhaba, aşağıda nerde hata yapıyorum. şifreyi doğru girmeme rağmen hatalı şifre girdiniz diye uyarı vermektedir.
dlookup da iki sutunda kısa metin olursa hata vermektedir.


Private Sub giris1_Click()


    If IsNull(Me.kullanicilar1) Or Me.kullanicilar1 = "" Then
            MsgBox "Lütfen Kullanıcı Adı Giriniz.", vbOKOnly + vbInformation, "Bilgilendirme Penceresi"
            Me.kullanicilar1.SetFocus
        Exit Sub
    End If
    If Me.parola1.Value = Dlookup ("PAROLA", "T_CALISANLAR", "[NO]=" & Me.kullanicilar1.Value) Then

         ID = Me.kullanicilar1.Value
       
        Me.Form.Visible = False
        DoCmd.OpenForm "F_AnaSayfa", acNormal

        Else
        MsgBox "Hatalı Şifre! Lütfen Tekrar Deneyiniz", vbOKOnly + vbCritical, "Bilgilendirme Penceresi"
        Me.parola1.SetFocus
    End If
    intLogonAttempts = intLogonAttempts + 1
    If intLogonAttempts > 2 Then
        MsgBox "KAPATILACAK.", vbCritical, "Bilgilendirme Penceresi"
        Application.Quit
    End If
End Sub
14/10/2015, 18:36

atoz112

Sayın neco_can,

Bir ihtimal açıklamanın yetersiz kalabileceği sorunlar söz konusu olduğunda aynı karşılık olarak açıklamalar yazarak çözümler üretmek ve sunmak da bir o kadar yetersiz ya da etkisiz kalacaktır.konunuzda mesaj yoğunluğunun artması da cabası.

Bu nedenle,Site Kuralları sayfasında yazılı hususları tekrar incelemenizi temenni etmekle birlikte,örnek uygulamanızı da konunuza dahil etmeniz daha verimli olacaktır.Fakat,ilk etapta bir bilgilendirme veya dikkat çekme olması adına,şu açıklama yapılabilir.

Me.kullanicilar1 diye kullandığınız denetim,kişinin adını girmesi için geçerli görünmekte.bu da,metin veri türü demektir.fakat,siz

Kod:
If Me.parola1.Value = Dlookup ("PAROLA", "T_CALISANLAR", "[NO]=" & Me.kullanicilar1.Value) Then

yukarıdaki kod ifadesinde Dlookup fonksiyonunu kullanırken kriter olarak [NO] alanını belirtirken,bu alanın karşılığı olarak kişi adını eşitlemişsiniz.kast edilen şu;sayısal değere karşılık metin değerini eşitlemek istiyorsunuz.oysa NO yerine kişi adını yazmalısınız ki eğer kişi adı tutuyor ise parola değerine göre işlem yapılabilsin.

Uygulamanız bilinmediğinden dolayı,muhtemel bu kod ifadesinin yazımı şu şekilde olmalı.
(alan adı için kullanılan örnek ifadeyi düzeltmeyi unutmayınız.)bilginize…iyi çalışmalar,saygılar.

Kod:
If Me.parola1.Value = Dlookup ("PAROLA", "T_CALISANLAR", "[kullanici_adi]='" & Me.kullanicilar1.Value & "'") Then