برمجة وتصميم الفورم الخاص بجدول place

في الفورم السابق تعلمنا برمجة وتصميم الفورم الخاص بجدول group , اليوم سنبرمج فورم خاص بجدول places وهو فورم ايضا مرتبط بفورم الاصناف ltems الذي لم نبرمجه بعد و فائده هذه فورم المرتبطه بالاصناف هي عندما يكون لدينا مخزن كبير وفيه بضائع كثيره يمكننا ان نضع صنف معين في مخزن في مكان معين .

نقوم بادراج فورم forms ونسميه ltemgroupsbv كالعاده نقوم بفتح قاعدة بيانات مشروعنا من datesources ونختار جدول place ونضغط كلك ايسر على سهم بجنب اسم جدول ونختار details ومن ثم نقوم بسحب جميع حقول جدول على الفورم .

كالعادة نقوم بتغير اسماء الحقول برمجياً .

ندرج button عدد 4 ونغير اسماء كل واحد منها لازرار الاضافة والتعديل والحفظ والحذف وندرج ايضا اداة datagridview لتحميل بيانات الجدول .

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

برمجة وتصميم الفورم الخاص بجدول place

الان نقوم بعمل اتصال بجدول public من خلال المديول… نفتح مديول module خاص بنا ونقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld ولود load تحميل بيانات جدول وكود code ,

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

Module1.vb
	  

Public placesdt As New DataTable

Public placesda As New OleDbDataAdapter

Public mynewldplaces As Integer

	

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

Module1.vb
		

Public Sub load_places()


placesdt.Clear()


placesda = New OleDbDataAdapter("select * from places", con)


placesda.Fill(placesdt)


End Sub
	

نقوم بانشاء كود code لجلب اعلى رقم في جدول ضمن ترقيم تلقائي ويصبح الكود كالتالي:

Module1.vb
	  


Public Sub code_places()


Dim dt As New DataTable


Dim da As New OleDbDataAdapter("select max(placeld) from places", con)


da.Fill(dt)


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


mynewldplaces = 1


Else


mynewldplaces = dt(0)(0) + 1


End If


End Sub


	

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

برمجة وتصميم الفورم الخاص بجدول place

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

ltemgroupsbv.vb

	  
load_places()


DataGridView1.DataSource = placesdt

	

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



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

 1⃣ برمجة زر الاضافة…… ننقر نقرتين على فورم وتحت

public class ltemplacevb
  

نقوم بانشاء اجراء خاص بالاضافة ونسميه newplace ويصبح الكود كالتالي :

ltemgroupsbv.vb
	  

Public Sub newplace()


code_places()


Placedate.Text = Now.Date


Placeld.Text = mynewldplaces


Placename.Text = ""


Placetime.Text = Now


Placeuser.Text = ""


End Sub 
	

ثم نذهب الى زر الاضافة وننقر نقرتين عليه ونستدعي اجراء الاضافة

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

برنامج سوبر ماركت فيجول بيسك دوت نت


2⃣ برمجة زر الحفظ…… ننقر نقرتين على زر الحفظ ونكتب الكود التالي : =============كود الحفظ

ltemgroupsbv.vb
	  

placesdt.Rows.Add()


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


placesdt.Rows(last).Item
("Placedate") = Placedate.Value

placesdt.Rows(last).Item
("Placeld") = Placeld.Text

placesdt.Rows(last).Item
("Placename") = Placename.Text

placesdt.Rows(last).Item
("Placetime") = Placetime.Value

placesdt.Rows(last).Item
("Placeuser") = Placeuser.Text


Dim save As New OleDbCommandBuilder
(placesda)


placesda.Update(placesdt)


placesdt.AcceptChanges()


load_places()


MsgBox("تم حفظ البيانات بنجاح")


newplace()


End Sub
	

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

برنامج سوبر ماركت فيجول بيسك دوت نت

3⃣ برمجه كود وضع بيانات على تكس بوكس

 نحدد اداة datagridview1 ومن الاحداث نختار SelectionChanged 

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

ltemgroupsbv.vb
	  

Try


Dim pos As Integer = BindingContext(placesdt).Position


Placeld.Text = placesdt.Rows(pos).Item
("placeld")


Placename.Text = placesdt.Rows(pos).Item
("placename")


Placedate.Text = placesdt.Rows(pos).Item
("placedate")


Placetime.Text = placesdt.Rows(pos).Item
("placetime")


Placeuser.Text = placesdt.Rows(pos).Item
("placeuser")


Catch ex As Exception

End Try


End Sub

	

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

برنامج سوبر ماركت فيجول بيسك دوت نت

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

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

ltemgroupsbv.vb
	  

Dim pos As Integer = BindingContext(placesdt).Position


placesdt.Rows(pos).Item
("placeld") = Placeld.Text


placesdt.Rows(pos).Item
("placename") = Placename.Text


placesdt.Rows(pos).Item
("placedate") = Placedate.Text


placesdt.Rows(pos).Item
("placetime") = Placetime.Text


placesdt.Rows(pos).Item
("placeuser") = Placeuser.Text


Dim save As New OleDbCommandBuilder
(placesda)


placesda.Update(placesdt)


placesdt.AcceptChanges()


MsgBox("تم حفظ التعديل")


load_places()

End Sub
	

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

برمجة وتصميم الفورم الخاص بجدول place

5⃣ كود الحذف

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

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


Dim pos As Integer = BindingContext(placesdt).Position

placesdt.Rows(pos).Delete()


Dim save As New OleDbCommandBuilder
(placesda)

placesda.Update(placesdt)

placesdt.AcceptChanges()


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


load_places()


Else


End If


End Sub

	

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

برمجة وتصميم الفورم الخاص بجدول place

صورة تجربه الفورم اضفنا بيانات افتراضية وحفظنا وكله تمام 

برمجة وتصميم الفورم الخاص بجدول place


الى هنا انتهينا من برمجة فورم ltemplacesvb بسهوله .

انتهينا من برمجة الشاشات السابقة بسهوله والدروس القادمة ستكون مختلفه بالتصميم والكود وايضا تكون بها نوع من الصعوبة لانها تحتاج إلى تركيز ومتابعه وفهم بنفس الوقت وتطبيق خطوه بخطوه وعندما اقول صعبه ليس بمعنئ هي صعبه لا بالعكس سهله عند الشخص اليركز ويتابع واليطبق خطوه بخطوة , يتبع تكمله مشروعنا ان شاء الله .