إخواني الأحباب في المنتدي
هناك مشكلة في شاشة البداية والتي يطالب فيها المستخدم بإدخال اسم المستخدم وكلمة المرور الخاصة به والمطلوب في المشروع هو تحديد عدد مرات إدخال كلمة المرور بثلاث مرات فقط ثم يتم غلق البرنامج تلقائيا
المهم هناك درس شيق للأستاذ ناصر nasser500001 في قسم الدروس واسمه الصلاحيات والمستخدمون وبه كود يوضح تلك الخاصية ولكني جربت ذلك الكود ولم يقوم بالمطلوب فهو يطالب المستخدم بإدخال كلمة المرور والمفروض في الكود أنه يحدده بثلاث مرات ولكن الذي يحدث هو أنه يوجد عدد لا نهائي من الإدخال
والكود الذي استعرته من الأستاذ ناصر هو كما يلي
Private Sub Command1_Click() Dim str1 As Integer 'هذا متغير عــام يمثل عداد لعدد مرات إدخال بيانات دخول خاطئة ، و تم تعريفه على انه متغير عام حتى يقوم بالاحتفاظ بأخر عدد يخزنه Dim Str As String 'هذا المتغير لتخزين كلمة المرور بعد البحث عن اسم المستخدم Dim nam As String rs.MoveFirst rs.Find "user_name='" + CStr(Combo2.Text) + "'", 0, adSearchForward, 1 If Not rs.EOF Then Str = rs![Password] 'هنا يتم تعبئة المتغير بكلمة المرور التي حصل عليها من الجدول End If If Text2.Text = Str Then ' نقارن كلمة المرور من الجدول بالنص المكتوب nam = Combo2.Text 'هذا المتغير عبارة عن متغير عام بحيث يكون اسم المستخدم موجود معنا في النظام دائماً لإستخدامة في أي شاشة من شاشات النظام main.Show Unload Me ElseIf Text2 <> Str And str1 = 0 Then 'إذا كانت المحاولة خاطئة يعيدها ثلاث مرات فقط MsgBox "كلمة المرور غير صحيحة ، اعد المحاولة", vbMsgBoxRight + vbMsgBoxRtlReading, " الدخول إلى النظام" str1 = 1 Text2.Text = "" Text2.SetFocus 'Exit Sub ElseIf Text2 <> Str And str1 = 1 Then MsgBox " كلمة المرور غير صحيحة ، اعد المحاولة ", vbMsgBoxRight + vbMsgBoxRtlReading, " الدخول إلى النظام" str1 = 2 Text2.Text = "" Text2.SetFocus 'Exit Sub ElseIf Text2 <> Str And str1 = 2 Then MsgBox " كلمة المرور غير صحيحة ", vbMsgBoxRight + vbMsgBoxRtlReading, "الدخول إلى النظام " 'Exit Sub If str1 >= 2 Then Command2_Click End If 'rs.Find "user_name='" + nam + "'", 0, adSearchForward, 1 End If End Sub
أتمنى من احبابي في المنتدى معرفه الخطا في ذلك الكود
ولكم جزيل الشكر