اليوم سنبرمج فورم خاص بجدول مجموعه groups في نظامنا سوبر ماركت , وهو فورم ايضا مرتبط بفورم الاصناف ltems الذي لم نبرمجه بعد و فائده هذه فورم المرتبطه بالاصناف هي عندما نشتري او نبيع صنف سيكون لهذا صنف مجموعه ينتمي لها مثلا لدينا صنف اسمه عصير برتقال طيب في انواع كثيره من العصائر يتم ادراجها كلها تحت مجموعه العصائر وهكذا في بقيه الاصناف .
نقوم الآن بادراج فورم forms ونسميه ltemgroups كالعاده نقوم بفتح قاعدة بيانات مشروعنا من datesources ونختار جدول groups ونضغط كلك ايسر على سهم بجنب اسم جدول ونختار details ومن ثم نقوم بسحب جميع حقول جدول على الفورم .
ثم كالعادة نقوم بتغير اسماء الحقول برمجياً… ندرج button عدد 4 ونغير اسماء كل واحد منها لازرار الاضافة والتعديل والحفظ والحذف وندرج ايضا اداة datagridview لتحميل بيانات جدول .
• كما في الصورة التالية . ليصبح فورم المجموعة .
ثم نقوم بالاتصال بجدول groups من خلال المديول , افتح المديول module خاص بنا ونقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld ولود load تحميل بيانات جدول وكود code نقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld ليصبح كود كما يلي :
Public groupsdt As New DataTable Public groupsda As New OleDbDataAdapter Public mynewldgroups As Integer
نقوم بانشاء لود load لتحميل بيانات جدول ليصبح الكود كالتالي :
Public Sub load_Grops() groupsdt.Clear() groupsda = New OleDbDataAdapter("select * from groups", con) groupsda.Fill(groupsdt) End Sub
نقوم بانشاء كود code لجلب اعلى رقم في جدول ضمن ترقيم تلقائي ويصبح الكود كالتالي:
Public Sub code_groups() Dim dt As New DataTable Dim da As New OleDbDataAdapter("select max(groupld) from groups", con) da.Fill(dt) If IsDBNull(dt(0)(0)) = True Then mynewldgroups = 1 Else mynewldgroups = dt(0)(0) + 1 End If End Sub
• كما في الصورة التالية . تم شرح الاكواد الثلاثه اعلاه في دروس سابقة لاحظ الاكواد الثلاثه كما في صورة
ثم نذهب الى الفورم وننقر نقرتين على فورم وفي حدث لود load فروم نكتب الكود التالي :
load_Grops() DataGridView1.DataSource = groupsdt
• كما في الصورة التالية .
الان نقوم ببرمجة ازرار الحذف والحفظ والاضافه والتعديل .
1⃣ برمجة زر الاضافة
ننقر نقرتين على فورم وتحت
public class ltemgroupنقوم بانشاء اجراء خاص بالاضافة ونسميه calergroups ونكتب الكود كالتالي :
Public Sub calergroups() code_groups() Groupdate.Text = Now.Date Groupld.Text = mynewldgroups Groupname.Text = "" Grouptime.Text = Now Groupuser.Text = "" End Sub
• كما في الصورة التالية .
ثم نذهب إلى زر الاضافة ونستدعي الاجراء , وايضا نذهب الى حدث لود load فروم ونستدعي الاجراء .
2⃣ برمجة زر الحفظ
ننقر نقرتين على زر الحفظ ونكتب الكود التالي : '=============كود الحفظ
groupsdt.Rows.Add() Dim last As Integer = groupsdt.Rows.Count - 1 groupsdt.Rows(last).Item ("Groupdate") = Groupdate.Value groupsdt.Rows(last).Item ("Groupld") = Groupld.Text groupsdt.Rows(last).Item ("Groupname") = Groupname.Text groupsdt.Rows(last).Item ("Grouptime") = Grouptime.Value groupsdt.Rows(last).Item ("Groupuser") = Groupuser.Text Dim save As New OleDbCommandBuilder (groupsda) groupsda.Update(groupsdt) groupsdt.AcceptChanges() load_Grops() MsgBox("تم حفظ البيانات بنجاح") calergroups() End Sub
• كما في الصورة التالية . تم شرح الكود في دروس سابقة
3⃣ كود وضع بيانات على تكس بوكس
نذهب إلى اداة datagridview1 ومن الاحداث هذا الاداة نختار حدث selectionchanged وننقر نقرتين على حدث ونكتب الكود التالي :
Try Dim pos As Integer = BindingContext(groupsdt).Position Groupld.Text = groupsdt.Rows(pos).Item ("groupld") Groupname.Text = groupsdt.Rows(pos).Item ("groupname") Groupdate.Text = groupsdt.Rows(pos).Item ("groupdate") Grouptime.Text = groupsdt.Rows(pos).Item ("grouptime") Groupuser.Text = groupsdt.Rows(pos).Item ("groupuser") Catch ex As Exception End Try End Sub
• كما في الصورة التالية . تم شرح الكود مراراً وتكراراً
4⃣ برمجة زر التعديل
ننقر نقرتين على زر التعديل ونكتب الكود التالي : ========كود التعديل
Dim pos As Integer = BindingContext(groupsdt).Position groupsdt.Rows(pos).Item ("groupld") = Groupld.Text groupsdt.Rows(pos).Item ("groupname") = Groupname.Text groupsdt.Rows(pos).Item ("groupdate") = Groupdate.Text groupsdt.Rows(pos).Item ("grouptime") = Grouptime.Text groupsdt.Rows(pos).Item ("groupuser") = Groupuser.Text Dim save As New OleDbCommandBuilder (groupsda) groupsda.Update(groupsdt) groupsdt.AcceptChanges() MsgBox("تم حفظ التعديل") load_Grops() End Sub
• كما في الصورة التالية . ايضا تم شرح كود لاحظ كود التعديل كما في صوره رقم
5⃣ برمجة زر الحذف
ننقر نقرتين على زر الحذف ونكتب الكود التالي : '==========كود الحذف
If MsgBox("هل تريد حذف المجموعة", MsgBoxStyle.OkCancel, "تاكيد الحذف") = MsgBoxResult.Ok Then Dim pos As Integer = BindingContext(groupsdt).Position groupsdt.Rows(pos).Delete() Dim save As New OleDbCommandBuilder (groupsda) groupsda.Update(groupsdt) groupsdt.AcceptChanges() MsgBox("تم الحذف") load_Grops() Else End If End Sub
• كما في الصورة التالية . ايضا تم شرح كود في درس سابق .