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

نسخة كاملة : حل: كيف يمكن نسخ جدول من قاعدة بيانات إلى اخرى
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
رمضان كريم، وتقبل الله منا ومنكم الصيام
أنا اعما على مشروع وصادفتني المشكلة التالية:
أتعامل مع مجموعة من قواد البيانات أكسس، لها نفس المحتوى، فقد تختلف من حيث الاسم.
أقوم بفتح قاعدة البيانات التي أريد العمل عليها دون أي مشكل، لكني لم أعرف كيف أنسخ الجدول Table1 من قاعدة البيانات التي فتحتها إلى قاعدة بيانات أخرى اسمها db_work.

تلخيصا لما سبق، أن المشكلة تكمن أني في كل مرة أتعامل مع قاعدة بيانات جديدة

المشروع مرفق، ومن لديه المعرفة فليفرج عنا هذه المعضلة وجزاكم الله كل خير.
الامور تترتب على ان المسميات الداخلية ثابتة او متغيرة
اذا كانت متغيرة ستحتاج لعمل كود لجلب جميع مسميات الجداول بداخل قاعدة البيانات
واذا كان ثابت والاسماء موحدة فى الجميع

يمكنك تنفيذ تلك الكود لاتمام انشاء الجدول
كود :
Create table Table1([N°] AUTOINCREMENT  PRIMARY KEY, [nom] TEXT(255), [prenom] TEXT(255))

واذاكنت بحاجة بنقل المحتوى بداخل الجدول الى الجديد

سيتم عمل كود لمعرفة اجمالى عدد محتوى الجدول
من ثم جود استعلام لجلب جميع محتوى الجدول
من ثم عمل For لاتمام عمل تكرار الكود الادخال INSERT 
ويتم اعطاء الداتا من الاستعلام الى كود الاضافة

وبكده تتم عملية النسخ

يارب تكون الفكرة مبسطة في الشرح

تحياتى لك
هذا الاستعلام يقوم بنقل بيانات الجدول الى جدول جديد فى قاعدة البيانات المحددة 

كود :
SELECT Table1.N°, Table1.nom, Table1.prenom INTO Table1 IN 'C:\Users\Yossof\Desktop\copy table\copy table\copy table\bin\Debug\DataBases\db_work.mdb'
FROM Table1;
 و هذا كود الزر لنقل الجدول 
كود :
   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Try
           Using con As New OleDb.OleDbConnection("Provider=Microsoft.jet.oledb.4.0;Jet OLEDB:Database Password=123;Data Source=DataBases\db1.mdb")
               Using cmd As New OleDb.OleDbCommand("SELECT Table1.N°, Table1.nom, Table1.prenom INTO Table1 IN '" & Application.StartupPath & "\DataBases\db_work.mdb' FROM Table1;", con)
                   con.Open()
                   cmd.ExecuteNonQuery()
                   con.Close()
               End Using
           End Using
           MsgBox("table copied")
       Catch ex As Exception
           MsgBox("table already exists")
       End Try
   End Sub
جزاكم الله خيرا على الرد والمساعدة
لقد استخدمت الكود وهو يعمل بشكل جيد
مشككككككورين