السلام عليكم ورحمة الله وبركاته
لدي بيانات تظهر على اداة الداتاقريد وارغب عند تحديد مجموع سجلات من خلال اداة على الداتا قريد من نوع CheckBox
يتم تعديل السجلات كلا حسب رقم السجل الخاص به بحيث يصبح في حقل CheckBox الى False ولكن جميع السجلات المحددة على القريد من خلال التشك بوكس
السلام عليكم ورحمة الله وبركاته
اخي الكريم
ضع مثالا مبسطا لما تريد ليصار الى تعديله
هذا مثال للمطلوب
في زر الحذف باللون الاحمر اريد بعد تحديد مثلا عدد 2 سجلات يتم التأشير على كل حقل في جدول tblDropping بحيث يصبح الحقل Core
False
في جميع ا لسجلات التي تم تحديدها
هو من المفترض أن تكون السجلات التي تظهر في القريد جميعها محددة في جدول tblDropping
True
السلام عليكم ورحمة الله وبركاته
اخي الكريم مثالك عمل معي بعض المشكلات مع كريستال ريبورت لذلك انشأت مثالا جديدا من عندي
اولا اختر حملة الاتصال التي تناسب البروفايد الذي عندك قاعدة البيانات اكسس 2003
لم افهم المطلوب بالضبط ولكن اعتقد انك تريد عملية حذف للسجلات بدون ان تحذف من الجدول فقط تتغير خالة التحميل الى الداتاغرايد من True الى false ولتنفيذ الامر يجب ان يكون لديك حقل في الجدول من نوع yes/no يتم التعديل عليه الى فولس عند اختيار السجل او السجلات التي تحدد من عمود Selected
الداتاغرايدفيو منعناها من انشاء الاعمدة بشكل اتوماتيكي وقمنا باضافة الاعمدة وربطناها بحقول الجدول واضفنا عمود اسميناه Selected نختار منه السجلات التي نريد لحذفها
الف شكر اخي العزيز ابراهيم مثالك ما اشتغل عندي على 2008
ولكن الفكرة ان لدي جدولين للاصناف وفيه حقل من نوع yes/no
وجدول آخر فيه نفس الحقول الجدول السابق
إذا تم حذف البيانات من الجدول الاول لا تحذف من الجدول الثاني فقط يتم التعديل على حقل yes/no تصبح تساوي False
اعمل على vb 2008
السلام عليكم ورحمة الله وبركاته
حاولت اعدل على كود الاخ الفاضل إبراهيم بارك الله فيه
لاضافة التعديل على الملاحظات وايضاً لم يتم التعديل الا في سجل واحد
كود :
If Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
For i As Integer = 0 To Dgv_Table.Rows.Count - 1
If Dgv_Table.Rows(i).Cells("Column5").Value = True Then
Dim Cmd As New OleDbCommand("Update tblDropping SET Notes=@Notes, Cv_State=@Cv_State Where ID=@ID", Con)
Cmd.Parameters.Add(New OleDbParameter("@Notes", OleDbType.Char)).Value = Dgv_Table.Rows(i).Cells("Column1").Value.ToString
Cmd.Parameters.Add(New OleDbParameter("@Cv_State", OleDbType.Boolean)).Value = False
Cmd.Parameters.Add(New OleDbParameter("@ID", OleDbType.Integer)).Value = Dgv_Table.Rows(i).Cells("ID").Value
Cmd.ExecuteNonQuery()
End If
Next
Con.Close()
MessageBox.Show("تم تعديل البيانات في الارشيف", "تعديل", MessageBoxButtons.OK, MessageBoxIcon.Information)
SelectAll_Personal()
(05-03-21, 07:18 AM)aftfm كتب : [ -> ]الف شكر اخي العزيز ابراهيم مثالك ما اشتغل عندي على 2008
ولكن الفكرة ان لدي جدولين للاصناف وفيه حقل من نوع yes/no
وجدول آخر فيه نفس الحقول الجدول السابق
إذا تم حذف البيانات من الجدول الاول لا تحذف من الجدول الثاني فقط يتم التعديل على حقل yes/no تصبح تساوي False
اعمل على vb 2008
Edet.rar
PHP كود :
' حذف المحدد '
#Region " DeleteSelections() "
Private Sub DeleteSelections()
Try
Dim w As New List(Of String)
Dim chks As Integer = 0
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r.Cells("printCheckBox").Value = True Then chks += 1
Next
If chks > 0 Then
Using conn As New OleDbConnection(connString)
conn.Open()
Dim sqlupdate = "UPDATE [tblDropping] SET [Notes]=@notes, [Core]=True WHERE [p_num]=@p_num"
Dim sqldelete = "DELETE FROM [persons] WHERE [p_num]=@p_num"
Using cmd As New OleDbCommand
cmd.Connection = conn
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r.Cells("printCheckBox").Value = True Then
' تنفيذ التعديل '
cmd.CommandText = sqlupdate
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@notes", If(r.Cells("Notes").Value Is Nothing, "", r.Cells("Notes").Value))
cmd.Parameters.AddWithValue("@p_num", r.Cells("p_num").Value)
cmd.ExecuteNonQuery()
' تنفيذ الحذف '
cmd.CommandText = sqldelete
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@p_num", r.Cells("p_num").Value.ToString)
cmd.ExecuteNonQuery()
End If
Next
End Using
conn.Close()
End Using
' تعبئة الداتاجريدفيو '
FillDataGridView()
Else
MsgBox("لم تقم بإختيار أي عنصر للطباعة", MsgBoxStyle.Exclamation, "خطأ")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
الف شكر اخي Ronald
ولكن في جدول tblDropping
لا زال حقل Cv_State = Ture
والمطلوب بعد التعديل يصبح False
الف شكر
تم التعديل على هذا السطر
كود :
Dim sqlupdate = "UPDATE [tblDropping] SET [Notes]=@notes, [Cv_State]=False WHERE [p_num]=@p_num"
السلام عليكم ورحمة الله وبركاته
بخصوص كود الاخ الفاضل Ronald
في التعديل والحذف 10%10
لو اردنا نقل أو حفظ البيانات قبل الحذف الى جدول جديد TBLOpiration
بنفس الحقول
السلام عليكم ورحمة الله وبركاته
سؤال في نفس الموضوع
كيف انقل البيانات التي تم تحديدها إلى اداة DataGridView2
فقط نق البيانات المحددة الى الداتا الاخرى