بسم الله الرحمن الرحيم
السلام عليكم
انا صممت كود اضافه وحفظ وتعديل
لكن عند التشغيل والظغط على كود الاضافه لا يعمل
ويعطينى رساله خطأ عند هذا الكود
current = Me.BindingContext(DataSet1, "cus").Position + 1
هذا كود النموذج
Public Class cus
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\me.accdb;")
Dim DataSet1 As New DataSet
Dim DataAdapter1 As New OleDbDataAdapter("SELECT * From cus", conn)
Private _bindingContex1 As Object
Private Property BindingContex As Integer
Private Property BindingContex(ByVal DataSet1 As DataSet, ByVal p2 As String) As Object
Get
Return _bindingContex1
End Get
Set(ByVal value As Object)
_bindingContex1 = value
End Set
End Property
Private Sub cus_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataAdapter1.Fill(DataSet1, "Cus")
'اعدادات مربعات النص
Label1.DataBindings.Add("Text", DataSet1, "cus.cusID")
txtname.DataBindings.Add("Text", DataSet1, "cus.cusName")
txtaddr.DataBindings.Add("Text", DataSet1, "cus.cusAddress")
txtphone.DataBindings.Add("Text", DataSet1, "cus.cusPhone")
' كود الداتا جريد
DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "cus"
DataGridView1.EnableHeadersVisualStyles = False
DataGridView1.Columns(0).HeaderText = "الرقم"
DataGridView1.Columns(1).HeaderText = "الاسم"
DataGridView1.Columns(2).HeaderText = "العنوان"
DataGridView1.Columns(3).HeaderText = "الهاتف"
Me.DataGridView1.Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable
Me.DataGridView1.Columns(1).SortMode = DataGridViewColumnSortMode.NotSortable
Me.DataGridView1.Columns(2).SortMode = DataGridViewColumnSortMode.NotSortable
Me.DataGridView1.Columns(3).SortMode = DataGridViewColumnSortMode.NotSortable
DataGridView1.Columns(1).ReadOnly = True
'اظهار عدد السجلات فى الجدول
On Error Resume Next
Dim records, current As Integer
records = Me.BindingContext(DataSet1, "cus").Count
current = Me.BindingContext(DataSet1, "cus").Position + 1
Label4.Text = " عدد السجلات " & current.ToString & " من أصل " & records.ToString
End Sub
Private Sub butadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butadd.Click
If MsgBox(" هل إنت متـــأكد من عميلة تسجيل عميل جديد " & " ؟ ", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.OkCancel, "اضافة سجل جديد") = MsgBoxResult.Cancel Then Exit Sub
DataSet1.Clear()
butsave.Text = "حفظ"
' count()
Dim records, current As Integer
records = Me.BindingContext(DataSet1, "cus").Count
current = Me.BindingContex(DataSet1, "cus").Position + 1
Label4.Text = " عدد السجلات " & current.ToString & " من أصل " & records.ToString
On Error Resume Next
End Sub
Private Sub butsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butsave.Click
' كود الحفظ والتعديل
Try
Application.DoEvents()
If Label1.Text = "" Then
'كود اضافة سجل جديد
Dim Add_NewRow As DataRow = DataSet1.Tables("cus").NewRow()
' If TextBox1.Text = "" Then Add_NewRow("name") = DBNull.Value Else Add_NewRow("name") = TextBox1.Text.Trim
If Label1.Text = "" Then Add_NewRow("cusID") = DBNull.Value Else Add_NewRow("cusID") = Label1.Text.Trim
If txtname.Text = "" Then Add_NewRow("cusName") = DBNull.Value Else Add_NewRow("cusName") = txtname.Text.Trim
If txtaddr.Text = "" Then Add_NewRow("cusAddress") = DBNull.Value Else Add_NewRow("cusAddress") = txtaddr.Text.Trim
If txtphone.Text = "" Then Add_NewRow("cusPhone") = DBNull.Value Else Add_NewRow("cusPhone") = txtphone.Text.Trim
DataSet1.Tables("cus").Rows.Add(Add_NewRow)
'كود حفظ الاضافة
Validate()
DataAdapter1.Update(DataSet1.Tables("cus"))
DataSet1.AcceptChanges()
butsave.Text = " تعديل"
'تحديث قاعدة البيانات
conn.Open()
DataSet1.Clear()
DataAdapter1.Fill(DataSet1, "cus")
conn.Close()
'كود الانتقال الى اخر سجل تم اضافته بعد تخديث قاعدة البيانات
Me.BindingContext(DataSet1, "cus").Position = Me.BindingContext(DataSet1, "cus").Count - 1
'==================== متغير يكون بس ماقبل معي ========
Dim records, current As Integer
records = Me.BindingContext(DataSet1, "cus").Count
current = Me.BindingContext(DataSet1, "cus").Position + 1
Label4.Text = " عدد السجلات " & current.ToString & " من أصل " & records.ToString
'=======================================================================
MsgBox("تـــم إضـــــافة العميل بنجاح ", 64, "نجاح")
Else
'كود معرفة رقم الصف الحالي في قاعدة البيانات
Dim Row_Num As Integer = Me.BindingContext(DataSet1, "cus").Position
'كود حفظ التعديل
DataSet1.Tables("cus").Rows(Row_Num).BeginEdit()
If Label1.Text = "" Then DataSet1.Tables("cus").Rows(Row_Num).Item("cusID") = DBNull.Value Else DataSet1.Tables("cus").Rows(Row_Num).Item("cusID") = Label1.Text.Trim
If txtname.Text = "" Then DataSet1.Tables("cus").Rows(Row_Num).Item("cusName") = DBNull.Value Else DataSet1.Tables("cus").Rows(Row_Num).Item("cusName") = txtname.Text.Trim
If txtaddr.Text = "" Then DataSet1.Tables("cus").Rows(Row_Num).Item("cusAddress") = DBNull.Value Else DataSet1.Tables("cus").Rows(Row_Num).Item("cusAddress") = txtaddr.Text.Trim
If txtphone.Text = "" Then DataSet1.Tables("cus").Rows(Row_Num).Item("cusPhone") = DBNull.Value Else DataSet1.Tables("cus").Rows(Row_Num).Item("cusPhone") = txtphone.Text.Trim
' If Tet_item_name.Text ="" Then DataSet1.Tables("item").Rows(Row_Num)Item("name")=DBNULL.VALUE ELSE DataSet1.Tables("item").rows(row_num).Item("name")=Tet_item_name.Text.Teim
DataSet1.Tables("cus").Rows(Row_Num).EndEdit()
'كود حفظ التعديل
Validate()
DataAdapter1.Update(DataSet1.Tables(0))
DataSet1.AcceptChanges()
'==================== متغير يكون بس ماقبل معي ========
Dim records, current As Integer
records = Me.BindingContext(DataSet1, "cus").Count
current = Me.BindingContext(DataSet1, "cus").Position + 1
Label4.Text = " عدد السجلات " & current.ToString & " من أصل " & records.ToString
'=======================================================================
MsgBox("تم التعــــديل والحفظ بنــجاج", 64, "تعديل العمــــــــــــلاء")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class