تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حذف بيانات بعد تحديدها في الداتا قريد
#1
السلام عليكم ورحمة الله وبركاته


اريد طريقة لحذف بيانات بعد تحديدها من الداتا قريد من خلال CheckBox
الرد }}}
تم الشكر بواسطة:
#2
حذف البيانات من داخل الداتا كريد فيو من خلال الكود التالي ..........

PHP كود :
Dim psation As Integer BindingContext(User_Table).Position

        If MsgBox
("هل تريد فعلا حذف المستخدم"MsgBoxStyle.YesNo"حذف المستخدم") = MsgBoxResult.Yes Then

            User_Table
.Rows(psation).Delete() 
 
حيث ان User_Table هو اسم الجدول المراد حذف البيانات منه و من خلال الداتا كريد فيو و بالنسبة ل checkbox فاضف انت الشرط المناسب يعني بعد تحديد ال ckeckbox قم بالحذف ............. تحياتي ...
..................  و فوق كل ذي علم عليم  ................
الرد }}}
تم الشكر بواسطة: اسامه الهرماوي
#3

السلام عليكم ورحمة الله

الجواب موجود في مشاركتي في موضوعك طباعة السجلات المحددة في الداتا قريد

ضع هذا السطر مع حذف " [ORDER BY [ID "
PHP كود :
Dim sqlString As String " DELETE FROM [table1] " 

بدلاً من هذا السطر
PHP كود :
Dim sqlString As String " SELECT * FROM [table1] " 

يعني من الآخر
PHP كود :
Public Function SqlDataGridViewChecked() As String

    
' تجهيز الجزء الأول من جملة الاستعلام '
    
Dim sqlString As String " DELETE FROM [table1] "

    ' تجميع الأسطر عن طريق تشيك بوكس '
    
Dim w As New List(Of String)
    For 
Each r As DataGridViewRow In Me.DataGridView1.Rows
        
If r.Cells(0).Value True Then w.Add(" ([ID] = " r.Cells("id").Value ") ")
    
Next

    
' تجميع بقية جملة الاستعلام '
    
sqlString &= " WHERE " Join(w.ToArray" OR ")

    If 
w.Count 0 Then Return sqlString

End 
Function 
الرد }}}
تم الشكر بواسطة: aftfm
#4
الف شكر اخي العزيز وليد ولكن لم يتم الحذف هذا مثال لعملية الطباعة بعد الاختيار من اداة Chickbox

ارجو التعديل عليه


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 108.01 ك ب / التحميلات : 293)
الرد }}}
تم الشكر بواسطة:
#5

السلام عليكم ورحمة الله

المشكلة ليس لدي كريستال ريبورت للتجربة

أول شيء عند خطأ في قاعدة البيانات وهي عدم وجود عمود id ويجب إضافته بترقيم تلقائي ومفتاحي
وهو مهم جداً إذا كنت تستخدم الاستعلام المحدد أو الحذف المحدد أو التعديل المحدد

هذا كود Form1 تم تعديله بالكامل تقريباً
PHP كود :
Imports System.Data.OleDb

Public Class Form1

    
Public connString As String "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" Application.StartupPath "\data.mdb"



#Region " Form1_Load "
    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        
' تعبئة الداتاجريدفيو '
        
FillDataGridView()

    
End Sub
#End Region




    
' زر طباعة المحدد '
#Region " Button1_Click "
    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Me
.Cursor Cursors.WaitCursor

        
' طباعة المحدد '
        
PrintSelections()

        
Me.Cursor Cursors.Default
    
End Sub
#End Region

    
' زر طباعة الكل '
#Region " Button2_Click "
    
Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Me
.Cursor Cursors.WaitCursor

        
' طباعة الكل '
        
PrintAll()

        
Me.Cursor Cursors.Default
    
End Sub
#End Region


    
' زر حذف المحدد '
#Region " Button3_Click "
    
Private Sub Button3_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button3.Click
        Me
.Cursor Cursors.WaitCursor

        
If MsgBox("هل أنت متأكد من الحذف؟"MsgBoxStyle.Question _
                  MsgBoxStyle
.YesNo MsgBoxStyle.MsgBoxRtlReading _
                  MsgBoxStyle
.MsgBoxRight_
            
MsgBoxResult.Yes _
        Then
            
' حذف المحدد '
            
DeleteSelections()
        
End If

        
Me.Cursor Cursors.Default
    
End Sub
#End Region




    
' تعبئة الداتاجريدفيو '
#Region " FillDataGridView() "
    
Private Sub FillDataGridView()
        Try

            
Using da As New OleDbDataAdapter("SELECT * FROM [persons]"connString)
                
Using dt As New DataTable

                    da
.Fill(dt)

                    
Me.DataGridView1.DataSource dt

                    
' بإمكانك إخفاء عمود في الداتاجريدفيو '
                    ''
Me.DataGridView1.Columns("id").Visible False

                End Using
            End Using

            
' إضافة عمود تشكبوكس في الداتاجريدفيو '
            
AddDataGridViewCheckBoxColumn()

        Catch 
ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub
#End Region


    
' إضافة عمود تشكبوكس في الداتاجريدفيو '
#Region " AddDataGridViewCheckBoxColumn() "
    
Private Sub AddDataGridViewCheckBoxColumn()

        
' إذا وجد عمود تشكبوكس داتاجريدفيو نقوم بحذفه '
        
If Me.DataGridView1.Columns("printCheckBox"IsNot Nothing Then
            Me
.DataGridView1.Columns.Remove("printCheckBox")
        
End If

        
' إنشاء عمود تشكبوكس داتاجريدفيو '
        
Dim clmCheckBox As New DataGridViewCheckBoxColumn

        
' تسمية العمود لاستخدامه بالاسم '
        
clmCheckBox.Name "printCheckBox"

        ' تسمية رأس العمود '
        
clmCheckBox.HeaderText "اختر للطباعة"

        ' إضافة العمود إلى داتاجريدفيو '
        
Me.DataGridView1.Columns.Add(clmCheckBox)

    
End Sub
#End Region


    
' طباعة المحدد '
#Region " PrintSelections() "
    
Private Sub PrintSelections()
        Try

            
' جملة الاستعلام '
            
Dim sqlString As String SqlSelectDataGridViewChecked()

            If 
sqlString <> "" Then

                Using da 
As New OleDbDataAdapter(sqlStringconnString)
                    
Using dt As New DataTable

                        da
.Fill(dt)

                        
' الفورم 2 '
                        
Form2.print(dt)
                        
Form2.ShowDialog()

                    
End Using
                End Using

                ClearDataGridViewCheckBox
()

            
End If

        Catch 
ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub
#End Region


    
' تجهيز جملة الاستعلام '
#Region " SqlSelectDataGridViewChecked() As String "
    
Private Function SqlSelectDataGridViewChecked() As String

        
' تجهيز الجزء الأول من جملة الاستعلام '
        
Dim sqlString As String "SELECT * FROM [persons] "

        ' تجميع الأسطر عن طريق تشيكبوكس '
        
Dim w As New List(Of String)
        For 
Each r As DataGridViewRow In Me.DataGridView1.Rows

            
If r.Cells("printCheckBox").Value True Then
                w
.Add(" ([id] = " r.Cells("id").Value ") ")
            
End If

        
Next

        
' تجميع بقية جملة الاستعلام '
        
sqlString &= " WHERE " Join(w.ToArray" OR ") & " ORDER BY [id] "

        
If w.Count 0 Then Return sqlString

    End 
Function
#End Region


    
' إفراغ تشيكبوكس '
#Region " ClearDataGridViewCheckBox() "
    
Private Sub ClearDataGridViewCheckBox()
        For 
Each r As DataGridViewRow In Me.DataGridView1.Rows
            r
.Cells("printCheckBox").Value False
        Next
    End Sub
#End Region


    
' طباعة الكل '
#Region " PrintAll() "
    
Private Sub PrintAll()
        Try

            
Using da As New OleDbDataAdapter("SELECT * FROM [persons]"connString)
                
Using dt As New DataTable

                    da
.Fill(dt)

                    
' الفورم 2 '
                    
Form2.print(dt)
                    
Form2.ShowDialog()

                
End Using
            End Using

        
Catch ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub
#End Region


    
' حذف المحدد '
#Region " DeleteSelections() "
    
Private Sub DeleteSelections()
        Try

            
' جملة الحذف '
            
Dim sqlString As String SqlDeleteDataGridViewChecked()

            If 
sqlString <> "" Then

                Using conn 
As New OleDbConnection(connString)
                    
Using cmd As New OleDbCommand(sqlStringconn)

                        
' تنفيذ الحذف '
                        
conn.Open()
                        
cmd.ExecuteNonQuery()
                        
conn.Close()

                    
End Using
                End Using

                
' تعبئة الداتاجريدفيو '
                
FillDataGridView()

            
End If

        Catch 
ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub
#End Region


    
' تجهيز جملة الحذف '
#Region " SqlDeleteDataGridViewChecked() As String "
    
Private Function SqlDeleteDataGridViewChecked() As String
        
Try

            
' تجهيز الجزء الأول من جملة الاستعلام '
            
Dim sqlString As String "DELETE FROM [persons] "

            ' تجميع الأسطر عن طريق تشيك بوكس '
            
Dim w As New List(Of String)
            For 
Each r As DataGridViewRow In Me.DataGridView1.Rows

                
If r.Cells("printCheckBox").Value True Then
                    w
.Add(" ([id] = " r.Cells("id").Value ") ")
                
End If

            
Next

            
' عكسنا الترتيب لأن الحلقة تبدأ بالعكس '
            
w.Reverse()

            
' تجميع بقية جملة الاستعلام '
            
sqlString &= "  WHERE  " Join(w.ToArray" OR ")

            If 
w.Count 0 Then Return sqlString

        
Catch ex As Exception
        End 
Try
    
End Function
#End Region


End Class 

هذا كود Form2 تم تعديله
PHP كود :
Public Class Form2

    
Public Sub print(ByVal dt As DataTable)

        
Dim rpt As New CrystalReport1

        rpt
.SetDataSource(dt)

        
CrystalReportViewer1.ReportSource rpt

    End Sub

End 
Class 

الرد }}}
تم الشكر بواسطة: aftfm
#6
بارك الله فيك الف شكر 10%10
الرد }}}
تم الشكر بواسطة:
#7
Big Grin 
باقي الحفظ والتعديل من خلال المحدد في DataGridview
الرد }}}
تم الشكر بواسطة:
#8
قمت بالمحاولة ظهر لدي خطأ في جملة الاضافة

INSERT INTO

لاحظ المثال إذا امكن التعديل عليه

مع ملاحظة ان الحفظ اريده في جدول آخر وليس في نفس الجدول الذي تم استعراض البيانات منه


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 117.08 ك ب / التحميلات : 140)
الرد }}}
تم الشكر بواسطة:
#9
هل الحفظ من الداتا قريد يختلف عن الحذف والطباعة بالنسبة لموضوعي من خلال المحدد من ChickBox
الرد }}}
تم الشكر بواسطة:
#10
لم يتم الحفظ من خلال الداتا قريد بعد الاختيار من اداة Chickbox

ارجوا مساعدتي في هذا الموضوع
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 598 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 172 15-03-24, 01:11 AM
آخر رد: justforit
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 164 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  حذف الاسطر الفارغه من الداتا جريد فيو اليوم السابع 3 2,357 03-03-24, 12:57 AM
آخر رد: مصمم هاوي
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 184 26-02-24, 01:07 AM
آخر رد: asdfar1977
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 222 25-02-24, 11:26 PM
آخر رد: heem1986
  [C#.NET] طباعة بيانات داتا جرد فيو h2551996 0 83 25-02-24, 02:31 PM
آخر رد: h2551996
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 1 309 21-02-24, 11:44 PM
آخر رد: AHMED213
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 193 20-02-24, 12:00 AM
آخر رد: Kamil

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم