تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تصحيح الاستعلام
#1
السلام عليكم
لدي جدولين tb1,tb2
tb1
id,name,note
tb1
id,name
اريد نقل كل الاسماء في tb1 الى tb2
علما ان tb1 جدول فارغ
انا كتبت
insert into tb2(name)values(select name from tb1)))
السؤال الثاني
اذا كان tb2
يحتوي اسماء اريد نقل الاسماء الى tb2من tb1
علما ان tb2 يوجد به اسماء و اريد نقل الاسماء الغير موجودة فقط
الرد
تم الشكر بواسطة:
#2
اخي محاسب ياليت تراجع السؤال اظن فيه خطا!
اسف اخي لكن لحرصي كتبت هذه الملاحظة.
الرد
تم الشكر بواسطة:
#3
شكرا للرد اخي الكريم
اخي الكريم السؤال مثلا لديك جدولين
الجدول الاول يحتوي الاسم والكنية
طبعا يوجد به بيانات

الجدول الثاني يوجد به فقط الاسم وهو جدول فارغ
كيفية نقل كامل بيانات الاسم من جدول الاول
الى الجدول الثاني
وشكرا للنصيحة
الرد
تم الشكر بواسطة:
#4
.....

هذه دالة قديمة قد تفيدك

منقول

دالة نسخ بيانات عمود واحد من جدول إلى أخر بنفس الإسم والنوع والحجم مع عدم التكرار
كود :
' دالة نسخ بيانات عمود واحد من جدول إلى أخر بنفس الإسم والنوع والحجم مع عدم التكرار
Public Sub CopyOneColumnFromTableToAnother(connectionString As String, table1 As String, column As String, table2 As String)
    Try

        ' إنشاء الإتصال بقاعدة البيانات
        Using cnn As New OleDbConnection(connectionString)

            ' فتح الإتصال بقاعدة البيانات
            cnn.Open()

            ' جدول مؤقت
            Using dt As New DataTable

                ' نسخ العمود من الجدول الأصل
                Using comm1 As New OleDb.OleDbCommand(" SELECT [" & column & "] FROM [" & table1 & "] ", cnn)

                    ' تعبئة الجدول المؤقت ببيانات العمود من الجدول الأصل
                    dt.Load(comm1.ExecuteReader)

                    ' حلقة المرور على الأسطر
                    For Each row As DataRow In dt.Rows

                        ' الاستعلام في وجود القيمة في الجدول الثاني
                        Using comm2 As New OleDbCommand("SELECT COUNT([" & column & "]) FROM [" & table2 & "] WHERE [" & column & "]=@column ", cnn)

                            ' لابد من مسح البارامترات لتعبئته لبيانات جديدة
                            comm2.Parameters.Clear()

                            ' تمرير البيانات من البيامترات إلى جملة الإستعلام
                            comm2.Parameters.AddWithValue("@column", row(column))

                            ' إذا لم يجد القيمة في الجدول الثاني
                            If comm2.ExecuteScalar = 0 Then

                                ' إضافة السطر إلى الجدول الثاني
                                comm1.CommandText = " INSERT INTO [" & table2 & "] ( [" & column & "] ) VALUES ( @column ) "

                                ' لابد من مسح البارامترات لتعبئته لبيانات جديدة
                                comm1.Parameters.Clear()

                                ' تمرير البيانات من البيامترات إلى جملة الإضافة
                                comm1.Parameters.AddWithValue("@column", row(column))

                                ' تنفيذ أمر الإضافة
                                comm1.ExecuteNonQuery()

                            End If

                        End Using
                    Next

                End Using

                ' غلق الإتصال بقاعدة البيانات
                cnn.Close()

            End Using
        End Using

    Catch ex As Exception
        ' عرض رسالة بالخطأ الحاصل إن وجد
        MsgBox(ex.Message)
    End Try
End Sub

طريقة استخدام الدالة
كود :
Public connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|database1.accdb"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    CopyOneColumnFromTableToAnother(connectionString, "table1", "column4", "table2")
End Sub

.....
الرد
تم الشكر بواسطة:
#5
جزاك الله خيرا وشكرا للرد
الرد
تم الشكر بواسطة:



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


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