بصراحة ضاع من عمري الكثير و انا لم اعرف الاكواد اللتي توفر المزيد من الوقت او حتى عدد الاسطر بالكود.
تصور اني قبل كنت اكتب كود يمر على صفوف الداتاقريدفيو و كل صف محدد احذف بالكود بعدد الصفوف المحددة يعني تصور الخوارزمية التالية:
command for delete selrow1
command for delete selrow2
command for delete selrow3
و هكذا تكرار الاتصال بملف القاعدة مع ان الامر لا يتطلب الا سطر واحد فقط بعد تجهيز نص يشمل كافة الارقام اللتي نستعلم بواسطتها و تكون بالصيغة التالية:
3,5,9
و حسب طلب الاخ نستخلصها من الصفوف المحددة ونبني النص اللذي يحمل ارقام الايدي كالتالي:
PHP كود :
Dim rowsint As Integer = dgv1.SelectedRows.Count
Dim arr(rowsint - 1) As String
For i As Integer = 0 To dgv1.SelectedRows.Count - 1
arr(i) = dgv1.SelectedRows(i).Cells(0).Value
Next
Dim ids As String = String.Join(",", arr)
و اجراء الحذف كالتالي:
PHP كود :
Private Sub del(ids As String)
Using con As New OleDb.OleDbConnection(str)
Using cm As New OleDb.OleDbCommand("", con)
cm.CommandText = "delete from tb where tid in (" & ids & ")"
If con.State = ConnectionState.Closed Then con.Open()
Try
cm.ExecuteNonQuery()
Catch ex As Exception
MsgBox("from del" & vbNewLine & Err.Description, MsgBoxStyle.Critical, "error")
Finally
If con.State = ConnectionState.Open Then con.Close()
End Try
End Using
End Using
End Sub
دقق في سطر الاستعلام التالي:
PHP كود :
cm.CommandText = "delete from tb where tid in (" & ids & ")"
بصراحة مرة اخرى انا منذهل و متحسر على مافات من وقت (لكن ايضا بصراحة لا ادري هل هذه جديدة ام انها قديمة)
من لديه كود اختصار ياليت يدلنا عليه و شكر الله له
الملف المرفق
Access Database
أقصد ان قاعدة البيانات من نوع أكسس