عند الضغط على زر تعديل يفتح لي فورم ثاني يحمل بيانات السجل وبعد القيام بالتعديل وضغط زر حفظ التعديل لايحصل اي شي اتمنى حل مشكلتي هذي وذلك بالتعديل على المثال بحيث يتم حفظ التعديل من جميع القروبات بكس حاولت باكثر من طريقه ولكن لم افلح والنتيجه هي نفسها
تكفون راسي صار مصدع والله من الصبح وانا احاول ولكن مافيه فائدة
أخي الفاضل :
أين قاعدة البيانات ؟؟؟؟
لا يوجد في مشروعك المرفق قاعدة بيانات
معليش اخي تفضل هذي قاعدة البيانات
معقولة مافية مساعده ياخوان
طيب ياخوان عند عملية Update
هل لازم نضع جميع الحقول الموجودة في الجدوال ام نكتفي بالحقوال المراد التحديث عليها
اخي الفاضل
جرب المرفق
مع العلم أنه توجد العديد من التظبيطات مع حقول قاعدة البيانات فراجعها وغير ما يلزم
تعديل ممتاز بس انا لم اضيف سجل جديد يتم حفظه بنفس الاعمدة في الجدول بشكل صحيح ولكن عند طلب تعديل السجل عند عملية الحفظ فانه يتم تعديل ترتيب الحقول وفي اوقت يتم الحفظ بنفس الحقول
فما هو الحل
وهل توجد طريقة اخرى
السلام عليكم
اخي استخدم المعامل ؟ بدل المعامل @ عندما تتعامل مع اكسس
PHP كود :
Private Sub btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Save.Click
Dim SQL As String = " Update tbl1 SET b = ?, B3= ?, B4 = ?, B5 = ?, B6 = ?, B7 = ?, B8 = ?, B10 = ?, B11 = ?, B12 = ? WHERE ID =? "
Dim CMD As New OleDb.OleDbCommand(SQL, con)
With CMD
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex5.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex6.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex7.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex8.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex9.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex10.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex12.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex20.Text.Trim
.Parameters.Add("?", OleDbType.LongVarChar).Value = Me.tex11.Text.Trim
.Parameters.Add("?", OleDbType.VarChar).Value = Me.tex5.Text.Trim
.Parameters.Add("?", OleDbType.Integer).Value = CInt(Me.IDLb.Text.Trim)
End With
Try
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim i As Integer = CMD.ExecuteNonQuery()
MsgBox(i & " / " & "تم تعديل السجل بنجاح", , "حفظ التعديل")
Catch ex As Exception
MsgBox(ex.ToString)
Finally
CMD.Dispose()
con.Close()
End Try
End Sub
ياخوان هل كل عمود في الجدوال عند عملية Update
لازم نضع له .Parameters في جملة Update
حتى حقل HijriID وحقل HijriYear وحقل ID
ام ليس ضروري
تكفون اعطوني الجواب لاني عند فتح التعديل الذي قام به احد الاخوان الله يجزه خير
عند عد الاعمدة في جملة الابديت كان 10 حقول وفي البرمتر كان 12
وهذي جملة الابديت التى وضعته ولكن مافية اي تغيير
Private Sub btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Save.Click
Dim SQL As String = " Update TabS SET bb2 = @B1, bb3= @B2, bb4 = @B3, bb5 = @B4, bb6 = @B5, bb7 = @B6, bb8 = @B7,bb9 = @B8, bb10 = @B9,bb11 = @B10, bb12 = @B11, bb13 = @B12, bb14 = @B13, bb15 = @B14, bb16 = @B15, bb17 = @B16 WHERE ID =" & IDLb.Text & ""
Dim CMD As OleDb.OleDbCommand = New OleDb.OleDbCommand
CMD.CommandType = CommandType.Text
CMD.Connection = con
With CMD
'.Parameters.Add("@id", OleDbType.Integer).Value = Me.IDLb.Text.Trim
'bb2موضوع المعاملة
.Parameters.Add("@B1", OleDbType.VarChar).Value = Me.tx2.Text.Trim
'bb3النوع
.Parameters.Add("@B2", OleDbType.VarChar).Value = Me.tx1.Text.Trim
'bb4رقم المعاملة
.Parameters.Add("@B3", OleDbType.VarChar).Value = Me.tx3.Text.Trim
'bb5تاريخ المعاملة
.Parameters.Add("@B4", OleDbType.VarChar).Value = Me.tx4.Text.Trim
'bb6جهته
.Parameters.Add("@B5", OleDbType.LongVarChar).Value = Me.tx5.Text.Trim
'bb7يتعلق بـ
.Parameters.Add("@B6", OleDbType.VarChar).Value = Me.tx7.Text.Trim
'bb8مرفقات
.Parameters.Add("@B7", OleDbType.VarChar).Value = Me.tx8.Text.Trim
'bb9عددها
.Parameters.Add("@B8", OleDbType.VarChar).Value = Me.tx9.Text.Trim
'bb10تحتاج متابعة
.Parameters.Add("@B9", OleDbType.VarChar).Value = Me.tx16.Text.Trim
'bb11نوع المعاملة
.Parameters.Add("@B10", OleDbType.VarChar).Value = Me.tx10.Text.Trim
'bb12ملاحظات
.Parameters.Add("@B11", OleDbType.VarChar).Value = Me.tx6.Text.Trim
'bb13الإجراء المتبع
.Parameters.Add("@B12", OleDbType.VarChar).Value = Me.tx11.Text.Trim
'bb14الجهة المرسل اليها
.Parameters.Add("@B13", OleDbType.VarChar).Value = Me.tx12.Text.Trim
'bb15المرفقات المرسلة
.Parameters.Add("@B14", OleDbType.VarChar).Value = Me.tx14.Text.Trim
'bb16عددها
.Parameters.Add("@B15", OleDbType.VarChar).Value = Me.tx15.Text.Trim
'bb17اسم الملف
.Parameters.Add("@B16", OleDbType.VarChar).Value = Me.tx13.Text.Trim
.Parameters.Add("@B18", OleDbType.VarChar).Value = Me.t_g4.Text.Trim
.Parameters.Add("@B19", OleDbType.VarChar).Value = Me.t_g5.Text.Trim
.Parameters.Add("@B20", OleDbType.VarChar).Value = Me.t_g6.Text.Trim
.Parameters.Add("@B12", OleDbType.VarChar).Value = Me.tx6.Text.Trim
End With
CMD.CommandText = SQL
If con.State = ConnectionState.Open Then con.Close()
con.Open()
CMD.ExecuteNonQuery()
con.Close()
MsgBox("تم تعديل السجل بنجاح", , "حفظ التعديل")
End Sub
ليس ضروريا تعديل جميع الحقول
تستطيع نعديل حقل واحد فقط ان أردت
لدي اقتراح اخي الكريم ان تربط بشبيكة البيانات datagridview بطريقة اضافة مصدر ثم سحب البيانات على شكل شبيكة بيانات وهنا لن تضطر لكتابة كود واحد بشرط ان لا ترابط بين الجداول.