19-06-13, 11:06 PM
نقوم بإنشاء from جديد ونسميه frmEdit، وبه نفس العناصر الموجودة على الـfrmNew، بإمكانك نسخها من هناك ولصقها على هذا الـform.
في الـfrmMain، نكتب في حدث النقر للزر تعديل ما يلي:
ونقوم في هذا الكود بالتحقق من السجل المختار من قبل المستخدم في الـfrmMain وقت التشغيل، فإذا تحقق الشرط يتم إرسال القيم المختارة إلى الـfrmEdit.
نكتب في شاشة تحرير الكود للـfrmEdit وكأول سطر ما يلي:
وفي قسم التعريفات نكتب:
في حدث التحميل للـfrmEdit نكتب:
وهنا قمنا بعرض الاسم وتاريخ الميلاد ليتم عرضها أمام المستخدم حتى يمكنه التعديل.
في حدث النقر للزر حفظ، نكتب ما يلي:
وهو للتحق من أن المستخدم كتب اسماً بالفعل.
وفي حدث النقر للزر إغلاق نكتب:
لتصفير القيم وإغلاق الـform.
في الـfrmMain، نكتب في حدث النقر للزر تعديل ما يلي:
كود :
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If dgvList.SelectedRows(0).Cells(0).Value = Nothing Then
MsgBox("يجب اختيار سجل لتعديله", MsgBoxStyle.Critical, "عذراً")
Else
With frmEdit
.RecID = Val(dgvList.SelectedRows(0).Cells(0).Value)
.TheName = dgvList.SelectedRows(0).Cells(1).Value
.TheBirthDate = dgvList.SelectedRows(0).Cells(2).Value
.ShowDialog()
End With
End If
End Subونقوم في هذا الكود بالتحقق من السجل المختار من قبل المستخدم في الـfrmMain وقت التشغيل، فإذا تحقق الشرط يتم إرسال القيم المختارة إلى الـfrmEdit.
نكتب في شاشة تحرير الكود للـfrmEdit وكأول سطر ما يلي:
كود :
Imports System.Data.OleDbوفي قسم التعريفات نكتب:
كود :
' تعريف متغير يحمل رقم السجل المطلوب تعديله
Public RecID As Integer
Public TheName As String
Public TheBirthDate As Dateفي حدث التحميل للـfrmEdit نكتب:
كود :
Private Sub frmEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' تجهيز العنصر الخاص بعرض التاريخ
dtDate.Format = DateTimePickerFormat.Custom
dtDate.CustomFormat = "yyyy-MM-dd"
txtName.Text = TheName
dtDate.Value = TheBirthDate
End Subوهنا قمنا بعرض الاسم وتاريخ الميلاد ليتم عرضها أمام المستخدم حتى يمكنه التعديل.
في حدث النقر للزر حفظ، نكتب ما يلي:
كود :
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
If txtName.Text = Nothing Then
MsgBox("يجب إدخال الاسم", MsgBoxStyle.Critical, "عذراً")
txtName.Focus()
Else
SaveData()
MsgBox("تم تعديل البيانات بنجاح", MsgBoxStyle.Information, "ألف مبروك")
' تحديث الداتاقريد على النافذة الرئيسية
frmMain.LoadData()
Me.Close()
End If
End Subوهو للتحق من أن المستخدم كتب اسماً بالفعل.
وفي حدث النقر للزر إغلاق نكتب:
كود :
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
txtName.Text = Nothing
RecID = 0
TheBirthDate = Nothing
TheName = Nothing
Me.Close()
End Subلتصفير القيم وإغلاق الـform.

