منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تعديل مجموعة حقول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

لدي بيانات تظهر على اداة الداتاقريد وارغب عند تحديد مجموع سجلات من خلال اداة على الداتا قريد من نوع 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

فقط نق البيانات المحددة الى الداتا الاخرى
الصفحات : 1 2