برمجة وتصميم واجهة المستخدمين users - نظام سوبر ماركت

السلام عليكم ورحمة الله وبركاته متابعينا  في كل مكان  في دروسنا سابقه برمجنا فورم العملاء customers وفورم الموردين lmporters , اليوم سنبرمج فورم خاص بالمستخدمين  برمجة فورم المستخدمين users ,

نبدا علئ بركة الله أولا نقوم بادراج فورم forms ونسميه users ثم كالعادة نقوم بفتح قاعدة البيانات DateSources ونختار جدول users وكلك ايمن ونختار details لاضهار التفاصيل ثم نفتح الجدول users وتضهر لنا حقول وعند حقل usergender نعمله ComboBox وايضا حقل userjob نعمله ComboBox ومن ثم نقوم بسحب جدول باكملة ونفلته على الفورم ايضا نقوم بتغير اسماء الحقول برمجياً اي بمسح كلمة textbox من جميع حقول ,

ثم ندرج Button عدد 5 كل واحد منها لازرار الاضافة والتعديل والحفظ والحذف والبحث .

ندرج اداة datagridview لتحميل البيانات عليها .

كما في الصورة التالية يصبح الفورم بالشكل النهائي 


برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

الآن نقوم بالاتصال بجدول users نذهب إلى ال مديول module خاص بنا ونقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld وايضا كود تحميل بيانات جدول وكود ترقيم تلقائي لجلب اعلى رقم في جدول المسخدمين users

اذن نقوم بانشاء داتا تيبل وداتا ادبتر و ld كما يلي :

Module1.vb
		
	  Public usersdt As New DataTable

	  Public usersda As New OleDbDataAdapter

	  Public mynewldusers As Integer
	  

ثم نقوم بانشاء لود load لتحميل بيانات جدول كما يلي :

Module1.vb
		
	  Public Sub load_users()

	  usersdt.Clear()

	  usersda = New OleDbDataAdapter("select * from users", con)

	  usersda.Fill(usersdt)

	  End Sub
	  

ثم نقوم بانشاء كود Code لجلب اعلى رقم في جدول للترقيم التلقائي كما يلي :

Module1.vb
		
	  Public Sub code_users()


	  Dim dt As New DataTable
	  Dim da As New


	  OleDbDataAdapter("select 
	  max(userld) from users", con)


	  da.Fill(dt)


	  If IsDBNull(dt(0)(0)) = True Then


	  mynewldusers = 1


	  Else

	  mynewldusers = dt(0)(0)
	  + 1


	  End If

	  End Sub
	  

تفاصيل الاكواد 

 الاكواد تم شرحها في درس سابق وتصبح الاكواد الثلاثه كما في الصورة  .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

نذهب بعد ذلك إلى فورم المستخدمين  users وننقر نقرتين على فورم المستخدمين users وفي حدث لود load نكتب الكود التالي :

users.vb
		

	  load_users()

	  DataGridView1.DataSource = usersdt
	  

كما في الصورة التالية .


برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

كود حدث لود load وعند تنفيذ البرنامج سوف ترى ضهور حقول جدول كما في الصورة .
برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

ثم نذهب الى  برمجة ازرار الحذف والحفظ والتعديل والاضافة والبحث .

1⃣ برمجة زر الاضافة 

كالعادة نقوم بانشاء اجراء خاص بالاضافة ونسميه newuser لانه هذا الاجراء نستخدمه في عدة ازرار نعرف فضاء الاسماء الخاصه بالاكسس ثم ننقر نقرتين على فورم المستخدمين users وتحت public class users نكتب الاجراء الخاص بالاضافة كما يلي :

users.vb
	
	  Public Sub newuser()

	  code_users()

	  Useraddress.Text = ""

	  Userdate.Value = Now.Date

	  Userprogramm.Checked = False

	  Userfullname.Text = ""

	  Usergender.Text = ""

	  Userld.Text =
	  mynewldusers

	  Userjob.Text = ""

	  Username.Text = ""

	  Userpassword.Text = ""

	  Userphone.Text = ""

	  Usertime.Value = Now

	  Useruser.Text = ""

	  End Sub
	

شرح الكود .

الكود شرحناه في درس سابق لايحتاج الى شرح .

ننقر نقرتين على زر الاضافة ونستدعي الاجراء وفي حدث لود load ايضا نستدعي الاجراء  , 

انظر الى كود الاضافة كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

2⃣ برمجة زر الحفظ

 ننقر نقرتين على زر الحفظ ونكتب الكود التالي :

users.vb
	  
	
	
	  usersdt.Rows.Add()


	  Dim last As Integer = usersdt.Rows.Count - 1

	  usersdt.Rows(last).Item
	  ("useraddress") = Useraddress.Text


	  usersdt.Rows(last).Item
	  ("userprogramm") = Userprogramm.Checked

	  usersdt.Rows(last).Item
	  ("Userfullname") = Userfullname.Text

	  usersdt.Rows(last).Item
	  ("Usergender") = Usergender.Text

	  usersdt.Rows(last).Item
	  ("Userld") = Userld.Text

	  usersdt.Rows(last).Item
	  ("Userjob") = Userjob.Text

	  usersdt.Rows(last).Item
	  ("Username") = Username.Text

	  usersdt.Rows(last).Item
	  ("Userpassword") = Userpassword.Text

	  usersdt.Rows(last).Item
	  ("Userphone") = Userphone.Text


	  usersdt.Rows(last).Item
	  ("Useruser") = Useruser.Text


	  usersdt.Rows(last).Item
	  ("Userdate") = Userdate.Value


	  usersdt.Rows(last).Item
	  ("Usertime") = Usertime.Value


	  Dim save As New OleDbCommandBuilder
	  (usersda)


	  usersda.Update(usersdt)


	  usersdt.AcceptChanges()


	  MsgBox("تم حفظ")

	  load_users()

	  newuser()

	  End Sub
	

شرح الكود .

 كود سهل وتم شرحه عده مرات في اخر سطر من كود تم استدعاء اجراء الاضافة newuser ،

لاحظ كود الحفظ كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

3⃣🆔 كود وضع البيانات على تكس بوكس 

 نحدد اداة datagridview ومن الاحداث نختار selectionchanged وننقر نقرتين على حدث ونكتب الكود التالي :

users.vb
	  
	
	  Try

	  Dim pos As Integer = BindingContext(usersdt).Position


	  Useraddress.Text = usersdt.Rows(pos).Item
	  ("Useraddress")


	  Userdate.Value = usersdt.Rows(pos).Item
	  ("Userdate")


	  Userprogramm.Checked = usersdt.Rows(pos).Item
	  ("Userprogramm")


	  Userfullname.Text = usersdt.Rows(pos).Item
	  ("Userfullname")


	  Usergender.Text = usersdt.Rows(pos).Item
	  ("Usergender")


	  Userld.Text = usersdt.Rows(pos).Item
	  ("Userld")


	  Userjob.Text = usersdt.Rows(pos).Item
	  ("Userjob")


	  Username.Text = usersdt.Rows(pos).Item
	  ("Username")


	  Userpassword.Text = usersdt.Rows(pos).Item
	  ("Userpassword")


	  Userphone.Text = usersdt.Rows(pos).Item
	  ("Userphone")


	  Usertime.Value = usersdt.Rows(pos).Item
	  ("Usertime")


	  Useruser.Text = usersdt.Rows(pos).Item
	  ("Useruser")


	  Catch ex As Exception

	  End Try

	  End Sub
	

شرح الكود .

 تم شرحه سابقا ….. انظر الى كود وضع بيانات على تكس بوكس كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت


4⃣ برمجة زر التعديل 

ننقر نقرتين على زر التعديل ونكتب الكود التالي :

users.vb
	  
	  Dim pos As Integer = BindingContext(usersdt).Position
	  usersdt.Rows(pos).Item
	  ("Useraddress") = Useraddress.Text

	  usersdt.Rows(pos).Item
	  ("Userdate") = Userdate.Value

	  usersdt.Rows(pos).Item
	  ("Userprogramm") = Userprogramm.Checked

	  usersdt.Rows(pos).Item
	  ("Userfullname") = Userfullname.Text

	  usersdt.Rows(pos).Item
	  ("Usergender") = Usergender.Text

	  usersdt.Rows(pos).Item
	  ("Userld") = Userld.Text

	  usersdt.Rows(pos).Item
	  ("Userjob") = Userjob.Text

	  usersdt.Rows(pos).Item
	  ("Username") = Username.Text

	  usersdt.Rows(pos).Item
	  ("Userpassword") = Userpassword.Text

	  usersdt.Rows(pos).Item
	  ("Userphone") = Userphone.Text

	  usersdt.Rows(pos).Item
	  ("Usertime") = Usertime.Value

	  usersdt.Rows(pos).Item
	  ("Useruser") = Useruser.Text


	  Dim save As New OleDbCommandBuilder
	  (usersda)

	  usersda.Update(usersdt)

	  usersdt.AcceptChanges()

	  MsgBox("تم التعديل")

	  load_users()

	  End Sub
	

شرح الكود .

تم شرح كود في درس سابقا

أنظر إلى كود التعديل كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت


5⃣ برمجة زر الحذف

ننقر نقرتين على زر الحذف ونكتب الكود التالي :

users.vb
	  
	
	  If MsgBox("هل تريد حذف الموظف", MsgBoxStyle.OkCancel, "تاكيد الحذف") = MsgBoxResult.Ok Then


	  Dim pos As Integer = BindingContext(usersdt).Position

	  usersdt.Rows(pos).Delete()


	  Dim save As New OleDbCommandBuilder
	  (usersda)


	  usersda.Update(usersdt)

	  usersdt.AcceptChanges()

	  MsgBox("تم الحذف")


	  load_users()


	  Else

	  End If
	

شرح الكود .

تم شرح كود في درس سابقا

لاحظ كود الحذف كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت


6⃣ برمجة زر البحث

 ننقر نقرتين على زر البحث ونكتب الكود التالي :

users.vb
	  
	
	  usersdt.Clear()


	  usersda = New OleDbDataAdapter("select * from users where Userfullname like '%" & TextBox1.Text & "%'", con)


	  usersda.Fill(usersdt)


	  End Sub
	

شرح الكود .

 تم شرح الكود في درس سابق

انظر الى كود البحث كما في الصورة .

برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت


  الصورة التالية بعد تنفيذ المشروع  . 


برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

بعد تنفيذ البرنامج لاحظ اخي المبرمج التحديد باللون الأحمر في صورة هذه سوف يكون اسم مستخدم وباسورد الدخول للنظام وسوف ترون ذلك ان شاء الله بعد انشاء شاشة login .


برمجة وتصميم واجهة المستخدمين  users - نظام سوبر ماركت

2 بعد تنفيذ البرنامج وادخلنا بيانات افتراضية وحفظنا وتم تحميل البيانات في اداة datagridview1 🆔 .

في الدرس التالي سنتعلم برمجة واجهة الشركات .