تمام امر الحفظ تم لكن لما حاولت جيت افرغ الداتا سيت و املأها ب البيانات تاني اداني الخطأ ده
كود :
Try
Dim cmd9 As New OleDbCommand
Dim sql As String = "INSERT INTO mmm (Cient_Name,FaceBook,Client_Number,Address,Details,Feedback,Code) VALUES ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','','" & DateTime.Now.ToString("HHmmss") & "')"
conn9 = New OleDbConnection()
conn9.ConnectionString = Constr9
cmd9.CommandText = sql
cmd9.Connection = conn9
conn9.Open()
cmd9.ExecuteNonQuery()
conn9.Close()
Catch ex As Exception
MsgBox("فشل في قراءة البيانات")
End Try
MsgBox("تم الحفظ بنجاح")
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
Me.Hide()
ds9.Clear()
ds9 = New DataSet
adapt9.Fill(ds9, "mmm")
CRM_Form.DataGridView1.Show()
السلام عليكم اخي سعيد
المشكلة لديك في بقية الاكواد
هذا الخطأ يختلف عن الخطا السابق
الخطأ يقول يجب ان تكون هناك جملة استعلام جلب بيانات قبل ان يقوم بملء الجدول الذي في الداتاست
اخواني الكرام ياخوفي تكونو طفشتو من آرائي بموضوع الاتصال!
كلامي لمن هي جديدة عليه معلومة الفرق بين الاتصال المتصل و الاتصال المنفصل.
اذا برمجت باتصال منفصل لن تحتاج اي كود اتصال متصل.
وارى الان بهذا الموضوع خليط بين الاتصال المتصل والاتصال المنفصل.
بحثت على السريع باليوتيوب ووجدت رابطين لم اشاهدهما بالكامل لكن يبدو ان الشرح ممتاز
ربط قاعدة بيانات أكسس بالفيجوال بيسك.نت في الوضع المنفصل جزء1
ربط قاعدة بيانات أكسس بالفيجوال بيسك.نت في الوضع المنفصل جزء2
اخواني الكرام قصدي للتسهيل على المبرمج وليس انه يوجد خطأ لان الاخطاء تعالج بوجود خبراء امثالكم.
وكونك تتعامل بمنحى واحد شيء رائع جدا جدا وعن تجربة ومنذ زمن.
اكتشفت اني لست بحاجة للاتصال المتصل الا في ظروف الويب فقط.
شاهدت الشرح لكن وجدت ان طريقة الاضافة المستخدمة فيه تعقيد قليلا.
بالنسبة لي افضل الاضافة عن طريق الـDataRow
مثلا
PHP كود :
dim row as datarow=dt.newrow
row(1)=tname.text
dt.rows.add(row)
da.update(dt)
وللتعديل نفس الشي لكن
dim pos as integer=bindingcontext(dt).position
dim row as datarow=dt.rows(pos)
row.beginedit
row(1)= tname.text
row.endedit
da.update(dt)
يتبقى مشاهدة التغييرات مباشرة وذلك يتم عن طريق مناداة الاجراء المسؤال عن تحميل البيانات
ايه الخطأ الي هنا الكود عبارة عن تعديل حقل واحد في الجدول
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Client Name is Empty", MsgBoxStyle.OkOnly, Title:="warning")
Return
Else
'Try
If conn9.State = ConnectionState.Closed Then
conn9.Open()
End If
Dim cmd9 As New OleDbCommand
Dim pos As Integer = DataGridView1.CurrentRow.Index
Dim posNm = DataGridView1.Rows(pos).Cells("Cient_Name").Value
If MsgBox("Are you sure you want update " & posNm, MsgBoxStyle.Question + vbYesNo, Title:="Warning") = vbYes Then
Dim sql As String = "UPDATE mmm SET Feedback = '" & TextBox6.Text & "', WHERE Cient_Name =" & posNm
cmd9.CommandText = sql
cmd9.Connection = conn9
cmd9.ExecuteNonQuery()
End If
'Catch ex As Exception
'MsgBox("فشل في تعديل البيانات")
'Finally
conn9.Close()
'End Try
MsgBox("تم التعديل بنجاح")
End If
End Sub
كود البوزشن
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim currentrw As Integer
currentrw = DataGridView1.CurrentRow.Index
Dim posNm = DataGridView1.Rows(currentrw).Cells("Cient_Name").Value
If MsgBox("Are you sure you want update " & posNm, MsgBoxStyle.Question + vbYesNo, Title:="Warning") = vbYes Then
TextBox1.Text = DataGridView1.Item(0, currentrw).Value.ToString
TextBox2.Text = DataGridView1.Item(1, currentrw).Value.ToString
TextBox3.Text = DataGridView1.Item(2, currentrw).Value.ToString
TextBox4.Text = DataGridView1.Item(3, currentrw).Value.ToString
TextBox5.Text = DataGridView1.Item(4, currentrw).Value.ToString
TextBox6.Text = DataGridView1.Item(5, currentrw).Value.ToString
End If
End Sub
المحاولة هذه تمام بس عدلتلي الكل الصفوف مش صف واحد
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Client Name is Empty", MsgBoxStyle.OkOnly, Title:="warning")
Return
Else
'Try
If conn9.State = ConnectionState.Closed Then
conn9.Open()
End If
Dim cmd9 As New OleDbCommand
Dim pos As Integer = DataGridView1.CurrentRow.Index
Dim posNm = DataGridView1.Rows(pos).Cells("Cient_Name").Value
If MsgBox("Are you sure you want update " & posNm, MsgBoxStyle.Question + vbYesNo, Title:="Warning") = vbYes Then
Dim sql As String = "UPDATE mmm SET Feedback = '" & TextBox6.Text & "'"
cmd9.CommandText = sql
cmd9.Connection = conn9
'conn9.Open()
cmd9.ExecuteNonQuery()
End If
'Catch ex As Exception
'MsgBox("فشل في تعديل البيانات")
'Finally
conn9.Close()
'End Try
MsgBox("تم التعديل بنجاح")
End If
End Sub
السلام عليكم اخي سعيد
طبعا ستعدل كل السجلات في الجدول !!!!! لماذا؟؟؟
لانك ببساظة لم تضع شرط التعديل وهو المعرف او الاي دي قلت للبرنامج عدل الحقل كذ وكذا ولم تحدد اي صف
فقام البرنامج بتعديل كل الصفوف
كود التعديل يحتاج الى Where انظر الى هذه الجملة كمثال
كود :
Dim Cmd As New OleDbcommand("Update tbl_buy_d set code=@code,item_name=@item_name,price=@price,qty=@qty,tot=@tot Where id=@id", con)
عندي ليست بوكس بيعرضي كل قواعد البيانات و لما احدد القاعدة و اضغط على الزر يعرضهالي بس بيضفلي الجداول جمب بعض مبيفضيش الداتا جريد فيو و يعرض الجدول التاني جربت اخلي الداتا جريد فيو = nothing منفعتش بحاجة
كود :
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Dim xs As String = data(Val(ListBox1.SelectedIndex) + 1)
If ListBox1.SelectedIndex <> -1 Then
read_data(data(Val(ListBox1.SelectedIndex) + 1))
End If
End Sub
المثال التالي به كود الاضافة في الاكسس.
(01-09-19, 03:42 PM)اسامه الهرماوي كتب : [ -> ]المثال التالي به كود الاضافة في الاكسس.
مش اضافة انا اقصد بيعرض كل الجداول جنب بعض بدون ما يفرغ الداتا جريد فيو