عمل شاشة دخول باسم مستخدم وكلمة مرور

بسم الله الرحمن الرحيم
اليوم سنشرح عمل شاشة دخول ولكن
باسم مستخدم وكلمة مرور
بسم الله نبدأ
بالشكل الموضح يوجد
المشار لهم بالسهم الأخضر 7 label
السهم الأحمر 1 textbox
السهم الأسود 1 combobox
وزر دخول وزر خروج
وطبعا اتنين image لشعار الشركة

MTI1NTIzMQ92921

الصورة مصغرة أنقر هنا لرؤيتها بحجمها الطبيعي 790*602
بعد تصميم نفس الشكل السابق
نقوم بعمل شيت جديد اسمه users

MTkxNzAx2

ODgzNDYx3

الصورة مصغرة أنقر هنا لرؤيتها بحجمها الطبيعي 490*373
كما بالصورة
بعد تسمية الشيت وخصوصا برمجيا مثل التحديد الأحمر
نضيف البيانات كالأتي

MTQyNDkyMQ444

الصورة مصغرة أنقر هنا لرؤيتها بحجمها الطبيعي 548*206
نيجي بقي للاكواد
اولا كما تعلمنا في الدرس السابق نقوم بوضع هذه الاكواد في اليوزرفورم

في general))
[p]

CODE

Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Const WS_SYSMENU = &H80000

</pre>

في حدث تهيئة الفورم

[p]

CODE

Private Sub UserForm_Initialize()
&nbsp; &nbsp; Dim lngWindow As Long, lFrmHdl As Long
&nbsp; &nbsp; lFrmHdl = FindWindow(vbNullString, Me.Caption)
&nbsp; &nbsp; lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
&nbsp; &nbsp; lngWindow = lngWindow And (Not WS_CAPTION)
&nbsp; &nbsp; Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
&nbsp; &nbsp; Call DrawMenuBar(lFrmHdl)
End Sub

</pre>
في حدث الاغلاق

[p]

CODE

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If unloadmode = vbFormControlMenu Then
Cancel = True
MsgBox "غير مسموح"
End If
End Sub

</pre>

اما في حدث تنشيط الفورم فنقوم باضافة اكواد ربط الليبل الخاصة ببيانات الشركة بالخلايا التي تحتوي علي البيانات

[p]

CODE

Private Sub UserForm_Activate()
Application.WindowState = xlMaximized
Application.Visible = False
Label1.Caption = users.[e1]
Label2.Caption = users.[e2]
Label3.Caption = users.[e3]
&nbsp; With Me
&nbsp;.Height = Application.Height
&nbsp;.Width = Application.Width
&nbsp;.Left = Application.Left
&nbsp;.Top = Application.Top
&nbsp;End With
End Sub

</pre>

وفي زر الخروج

[p]

CODE

Private Sub CommandButton2_Click()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

</pre>
تبقي لنا الكود الاهم
وهو زر الادخال

[p]

CODE

Private Sub CommandButton1_Click()
On Error GoTo 86
If Application.WorksheetFunction.VLookup(ComboBox1.Value, users.Range("a2:l0"), 2, 0) = TextBox1.Text Then
Me.Hide
Application.Visible = True
MsgBox ComboBox1.Value & " مرحبا بك/   ", , "elmalak_elhazen_yasser@yahoo.com"
 Else
86
Label7= Label7+ 1
MsgBox " لقد استخدمت  " & Label7 & " محاولة من اصل  5  محاولات" ,vbCritical, "elmalak_elhazen_yasser@yahoo.com"
If Label7= 5 Then
MsgBox "لقد استنفذت جميع المحاولات"
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End If
End Sub

</pre>
استخدمنا هنا دالة vlookup للبحث والمقارنة عن المستخدم وكلمة المرور
ان لم يحقق الشرط يتم التحويل الى عدد المحاولات ومنها الى اغلاق البرنامج

وطبعا زي كل مره ننسى نحط كود في حدث فتح الملف

[p]

CODE

Private Sub Workbook_Open()
 Userform1.Show   
End Sub

</pre>

وطبعا لسه مش ربطنا الكمبوكس اللي فيها اسم المستخدم
عشان نسهل عليكم نعملها بالطريقة التقليدية وبعدين نبقي نعملها باحترافيه شوية

MjEyNTgzMQ775

الصورة مصغرة أنقر هنا لرؤيتها بحجمها الطبيعي 692*377
نحدد الكمبوكس ونكتب اسم الشت والرينج اللي فيه اسم المستخدم كما موضح بالصورة المظلل بالاحمر
الى شاشة دخول اخرى باذن الله
مع تحياتي

المرفقات بها شاشة الدخول مع صلاحيات بأكتر من شكل علي الرابط التالي
تحميل الملفات

عن أكاديمية الصقر للتدريب

أكاديمية الصقر للتدريب تقدم العديد من الشروحات والكورسات والحلول والمشاريع الجاهزة والبرامج المجانية فقط قم بالتسجيل في المنتدى واستمتع بكل مميزات الاكاديمية

شاهد أيضاً

برنامج المخازن Ystore – ياسر العربي معدل

بسم الله الرحمن الرحيم تم عمل تعديل لبرنامج Ystoreواصلاح اغلب المشكلات التي كانت موجودة مسبقالتحميل …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *