اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

كيف احدد لمستخدم الدخول اذا ادخل البيانات باحرف كبيرة لايدخل للبرنامج

 

لازم يدخلها حسب جدول الصلاحيات 

 

يعني اذا كتب USER وكانت في الجدول user لايدخل للبرنامج

اظهار كلمة المرور.rar

قام بنشر

وعليكم السلام ورحمة الله وبركاته

 

حيا الله من سألنا سؤال غير عن كل يوم  :smile:

 

الاكسس لا يفرق بين الحروف الكبيرة UpperCase/Ucase و LowerCase/LCase ، فلهذا السبب يجب ان نحل المسألة بطريقة اخرى.

 

هناك أكثر من طريقة لعمل المطلوب:

1. قراءة رقم كل حرف (انا احتفظ بالصورة الاولى ascii table في الرابط التالي ، وهي جدا مفيدة للمبرمج): http://www.asciitable.com/

من الجدول ، قيمة A = 65 ، بينما قيمة a = 97

جرب هذا الكود:

msgbox asc("A")
msgbox asc("a")

ففي هذه الحالة ، يجب ان نقارن قيم الاحرف بين القيمة في النموذج والتي في الجدول  :smile:

 

ومادمنا في سياق ascii table ، فترى اننا في بعض الاوقات في الكود ، عندما نريد استخدام الرمز " وقد يكون من الصعب استخدامه مباشرة ، فاننا نستخدم (chr(34  :smile:

 

2. طريقة نستخدم الامر StrComp وهو يقوم بمقارنة جملتين ، ولكن علينا التاكد باننا نقارن vbBinaryCompare ، مثل:

Comp_User = StrComp(rst!username, Me.username, vbBinaryCompare)

فاذا كانت النتيجة تساوي صفر ، فمعناه ان الجملتين متشابهتين  :smile:

 

هذا كود برنامجك للمقارنة:


Private Sub login_Click()

    If trycount > 2 Then
        MsgBox " من حُسن إسلام المرء تركه ما لا يعنيه ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير "
        MsgBox " سيتم إغلاق البرنامج الآن ،،، يجب مراجعة المسؤول ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !"
        DoCmd.Quit
    End If

    Dim rst As DAO.Recordset
    
    Set rst = CurrentDb.OpenRecordset("Select * From users")
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    For i = 1 To RC
    
        If rst!depart = 1 Then
            Comp_User = StrComp(rst!username, Me.username, vbBinaryCompare)
            Comp_Pass = StrComp(rst!txtpassword, Me.txtpassword, vbBinaryCompare)
            
            If Comp_User = 0 And Comp_Pass = 0 Then
                MsgBox "مرحباً بك " & Me.username
                DoCmd.OpenForm "ادارة الجوازات", acNormal
                DoCmd.SelectObject acForm, "login2"
                Me.Visible = False
                Exit Sub
            End If
            
        End If
        rst.MoveNext
    Next i
    
    MsgBox "تاكد من صحة اسم المستخدم وكلمة المرور"
    trycount = trycount + 1
    
End Sub

وانا عملت المقارنة للحقلين username  و txtpassword  :smile:

 

 

جعفر

 

 

59.اظهار كلمة المرور.accdb.zip

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information