تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] نقل سجل من جدول الى جدول اخر
#17
سلام


مشاركتي هذه قد لا تعتبر مفيده من ناحيت الطريقه المطلوبه

لتجربت الكود يتم اضافت جدولين داتاجريدفيو وزر واحد
وما ننساش قاعدتين بيانات مع تغيير اسماء قاعدت البيانات واسماء الجداول عند اللزوم

توجد في هذا الكود ثلاث طرق لنقل اسطر بين جدولين:
1- ضغط الزر:  مهمته عي نقل مجموعت اسطر بعد تحديدها في الجدول الاول عن طريق الماوس.
2- النقر المزدوج: ويعمل بلنقر مرتين على السطر في الجدول الاول لنقله.
3- السحب والاسقاط: تعمل بسحب سطر من الجدول الاول واسقاطه على الجدول الثاني.

تم وضع جملتين اتصال لاحتمال التطبيق على قاعدتين بيانات.

كود :
Public Class Form1

   Dim connStr1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;"
   Dim connStr2 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;"

   Dim sql1 As String = "SELECT * FROM [table1]"
   Dim sql2 As String = "SELECT * FROM [table2]"


   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.AllowDrop = True
        DataGridView2.AllowDrop = True
       Call fillDatagridviews()
   End Sub


   Dim dt1 As New DataTable
   Dim dt2 As New DataTable
#Region " تعبئت الجدول من قاعدت البيانات "
   Private Sub fillDatagridviews()
       Dim c1 = New OleDb.OleDbDataAdapter("SELECT * FROM [table1]", connStr1).Fill(dt1)
       DataGridView1.DataSource = dt1

       Dim c2 = New OleDb.OleDbDataAdapter("SELECT * FROM [table2]", connStr2).Fill(dt2)
       DataGridView2.DataSource = dt2
   End Sub
#End Region
#Region " تحديث قاعدت البيانات "
   Private Sub updateDatebase()
       Using da As New OleDb.OleDbDataAdapter(sql1, connStr1)
           Using builder As New OleDb.OleDbCommandBuilder(da)
               da.Update(dt1)
           End Using
       End Using
       Using da As New OleDb.OleDbDataAdapter(sql2, connStr2)
           Using builder As New OleDb.OleDbCommandBuilder(da)
               da.Update(dt2)
           End Using
       End Using
   End Sub
#End Region


   ' الطريقه الاولى
#Region " زر النقل بعد اختيار اسطر من الجدول الاول "
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       For Each row As DataGridViewRow In DataGridView1.SelectedRows
           If DataGridView1.AllowUserToAddRows And row.Index = DataGridView1.Rows.Count - 1 Then Exit For
           dt2.Rows.Add((From cels In row.Cells Select cels.Value).ToArray)
           DataGridView1.Rows.Remove(row)
       Next
       DataGridView2.DataSource = dt2
   End Sub
#End Region

   ' الطريقه الثانيه
#Region " زر النقل بعد النقر المزدوج على سطر في الجدول الاول "
   Private Sub DataGridView1_RowHeaderMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseDoubleClick
       If sender.AllowUserToAddRows And e.RowIndex = sender.Rows.Count - 1 Then Return
       dt2.Rows.Add((From cels In CType(sender, DataGridView).Rows(e.RowIndex).Cells Select cels.Value).ToArray)
       sender.Rows.Remove(sender.Rows(e.RowIndex))
       DataGridView2.DataSource = dt2
       Call updateDatebase()
   End Sub
#End Region

   ' الطر يقه الثالثه
#Region " طريقت سحب سطر من الجدول الاول واسقاطه على الجدول الثاني "
   Private Sub DataGridView1_DragOver(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView1.DragOver
       e.Effect = DragDropEffects.Move
   End Sub

   Private Sub DataGridView1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles DataGridView1.MouseMove
       If (e.Button And MouseButtons.Left) = MouseButtons.Left Then
           If sender.CurrentRow.Index = If(sender.AllowUserToAddRows, sender.Rows.Count - 1, sender.Rows.Count) Then Return
           sender.DoDragDrop(sender.Rows(sender.CurrentRow.Index), DragDropEffects.Move)
       End If
   End Sub

   Private Sub DataGridView2_DragOver(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView2.DragOver
       e.Effect = DragDropEffects.Move
   End Sub

   Private Sub DataGridView2_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView2.DragDrop
       If (e.Effect = DragDropEffects.Move) Then
           Dim row As DataGridViewRow = e.Data.GetData(GetType(DataGridViewRow))
           dt2.Rows.Add((From cels In row.Cells Select cels.Value).ToArray)
           DataGridView1.Rows.Remove(DataGridView1.CurrentRow)
           Call updateDatebase()
       End If
   End Sub
#End Region

End Class


موفقين
متغيب
الرد }}}
تم الشكر بواسطة: khodor1985 , مبرمج بلا حدود


الردود في هذا الموضوع
RE: نقل سجل من جدول الى جدول اخر - بواسطة الطالب - 05-09-15, 03:16 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  استعلام يرجع اسماء الاعمدة و نوع البيانات في جدول معين بسام محمدغانم 0 1,289 23-10-21, 01:43 AM
آخر رد: بسام محمدغانم
  [سؤال] نقل البيانات من جدول إلى أخر SQL Server 2008 semsemalex 7 15,531 19-04-20, 12:00 AM
آخر رد: essamprog2020
  كود حذف صورة من جدول اكسس samira20 1 2,072 05-07-19, 07:50 PM
آخر رد: elgokr
Information [سؤال] انشاء قاعدة بيانات access واضافة جدول وحقول بكود vb.net fefooo29 4 8,559 10-06-19, 09:31 PM
آخر رد: sherf
  استدعاء بيانات من اكثر من جدول المتألق9 1 2,701 04-06-19, 10:29 PM
آخر رد: احمد نعمة السلامي
  عرض اسم عميلين في جدول العملاء بشرط ارقامهم بجدول اخر يونس علي 1 1,791 26-04-19, 03:16 AM
آخر رد: محمد كريّم
  كود تصفير عمود في جدول اكسس samira20 1 2,738 31-03-19, 09:02 PM
آخر رد: بدري
  كود حذف سجل من جدول مرتبط مع جدول آخر samira20 1 3,302 28-03-19, 10:30 AM
آخر رد: samira20
  كيفية استرجاع جدول محدوف المتألق9 0 1,671 11-07-18, 08:34 PM
آخر رد: المتألق9
  [SQL] انشاء جدول جديد من عدة جداول ابو ملاك الخبير 0 2,559 07-03-18, 02:46 AM
آخر رد: ابو ملاك الخبير

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


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