في الفورم السابق تعلمنا برمجة وتصميم الفورم الخاص بجدول group , اليوم سنبرمج فورم خاص بجدول places وهو فورم ايضا مرتبط بفورم الاصناف ltems الذي لم نبرمجه بعد و فائده هذه فورم المرتبطه بالاصناف هي عندما يكون لدينا مخزن كبير وفيه بضائع كثيره يمكننا ان نضع صنف معين في مخزن في مكان معين .
نقوم بادراج فورم forms ونسميه ltemgroupsbv كالعاده نقوم بفتح قاعدة بيانات مشروعنا من datesources ونختار جدول place ونضغط كلك ايسر على سهم بجنب اسم جدول ونختار details ومن ثم نقوم بسحب جميع حقول جدول على الفورم .
كالعادة نقوم بتغير اسماء الحقول برمجياً .
ندرج button عدد 4 ونغير اسماء كل واحد منها لازرار الاضافة والتعديل والحفظ والحذف وندرج ايضا اداة datagridview لتحميل بيانات الجدول .
• كما في الصورة التالية ليصبح الفورم .
الان نقوم بعمل اتصال بجدول public من خلال المديول… نفتح مديول module خاص بنا ونقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld ولود load تحميل بيانات جدول وكود code ,
نقوم بانشاء متغيرات للداتا تيبل وداتا ادبتر و ld ليصبح كود كما يلي :
Public placesdt As New DataTable Public placesda As New OleDbDataAdapter Public mynewldplaces As Integer
نقوم بانشاء لود load لتحميل بيانات جدول ليصبح الكود كالتالي :
Public Sub load_places() placesdt.Clear() placesda = New OleDbDataAdapter("select * from places", con) placesda.Fill(placesdt) End Sub
نقوم بانشاء كود code لجلب اعلى رقم في جدول ضمن ترقيم تلقائي ويصبح الكود كالتالي:
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
• تم شرح الاكواد الثلاثه اعلاه في دروس سابقة لاحظ الاكواد الثلاثه كما في الصورة .
ثم نذهب الى الفورم وننقر نقرتين على فورم وفي حدث لود load فروم نكتب الكود التالي :
load_places() DataGridView1.DataSource = placesdt
• كما في الصورة التالية لاحظ الكود .
برمجة ازرار الاضافة والتعديل والحفظ والحذف والبحث .
1⃣ برمجة زر الاضافة…… ننقر نقرتين على فورم وتحت
public class ltemplacevb
نقوم بانشاء اجراء خاص بالاضافة ونسميه newplace ويصبح الكود كالتالي :
Public Sub newplace() code_places() Placedate.Text = Now.Date Placeld.Text = mynewldplaces Placename.Text = "" Placetime.Text = Now Placeuser.Text = "" End Sub
ثم نذهب الى زر الاضافة وننقر نقرتين عليه ونستدعي اجراء الاضافة
• كما في الصورة التالية لاحظ كود الاضافة .
2⃣ برمجة زر الحفظ…… ننقر نقرتين على زر الحفظ ونكتب الكود التالي : =============كود الحفظ
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
ثم ننقر بعدها نقرتين على الحدث ونكتب الكود التالي :
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⃣ برمجة زر التعديل
ننقر نقرتين على زر التعديل ونكتب الكود التالي : =========كود التعديل
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
• كما في الصورة التالية لاحظ كود التعديل .
5⃣ كود الحذف
ننقر نقرتين على زر الحذف ونكتب الكود التالي : ==========كود الحذف
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
• كما في الصورة التالية لاحظ كود الحذف .
صورة تجربه الفورم اضفنا بيانات افتراضية وحفظنا وكله تمام
الى هنا انتهينا من برمجة فورم ltemplacesvb بسهوله .
انتهينا من برمجة الشاشات السابقة بسهوله والدروس القادمة ستكون مختلفه بالتصميم والكود وايضا تكون بها نوع من الصعوبة لانها تحتاج إلى تركيز ومتابعه وفهم بنفس الوقت وتطبيق خطوه بخطوه وعندما اقول صعبه ليس بمعنئ هي صعبه لا بالعكس سهله عند الشخص اليركز ويتابع واليطبق خطوه بخطوة , يتبع تكمله مشروعنا ان شاء الله .