كيف اقوم بنسخ جدول من قاعدة الى قاعدة اخرى
باستخدام الادوا
وشكراا
كيف اقوم بنسخ جدول من قاعدة الى قاعدة اخرى
باستخدام الادوا
وشكراا
كود SQL لأكسيس :
INSERT INTO Employee IN 'C:\Documents and Settings\MMA\Desktop\Project\DB2.mdb' SELECT Emp_ID AS Emp_ID, Emp_Code AS Emp_Code, Emp_Name AS Emp_Name FROM Emp;
كود ADO من داخل الفيجوال :
1- فتح 2 كائن إتصال Cn1,Cn2 بحيث أن يتصل الأول Cn1 مع قاعدة البيانات الأولي ، والثاني Cn2 مع قاعدة البيانات الثانية .
2- قم بإدراج جدول جديد بقاعدة البيانات الثانية بحيث أن يطابق مواصفات الجدول الموجود بقاعدة البيانات الأولي ، مثال :
نفرض أن لدينا جدول الموظف Employee ، هذا الجدول يحتوي علي ثلاثة حقول كما يلي :
Employee_ID --> ترقيم تلقائي ، PK
Employee_Code --> نص(20) ، Unique
Employee_Name --> نص(50) ، Unique
ويحتوي علي مجموعة من الحقول ، المفروض أننا ننشأ جدول بقاعدة البيانات الثانية كما يلي :
Dim SQL As String
SQL = "Create Table Employee("
SQL = SQL & "Emp_ID Country,"
SQL = SQL & "Emp_Code VarChar(20),"
SQL = SQL & "Emp_Name VarChar(50),"
SQL = SQL & "Constraint PK_Employee Primary Key(Emp_ID),"
SQL = SQL & "Constraint UQ_Employee_Code Unique(Employee_Code),"
SQL = SQL & "Constraint UQ_Employee_Name Unique(Employee_Name)"
SQL = SQL & ")"
Cn2.Execute SQLولكن يجب أولاً التأكد من أن الجدول موجود أم لا ، ففي حالة وجودة يجب حذفة كما يلي :
SQL = "Drop Table Employee" Cn2.Execute SQL
أو يمكنك إجراء حذف للبيانات فقط كما يلي :
Cn2.Execute "Delete From Employee"
ومن ثم إجراء تعديل علي حقل Employee_ID بحيث أن يبدأ عملية الترقيم التلقائي من جديد كما يلي :
Alter Table Employee Alter Column Employee_ID Counter;
بعد ذلك يتم جلب كافة السجلات الموجودة في جدول Employee بقاعدة البيانات الأولي ونسخها بقاعدة البيانات الثانية كما يلي :
Dim Rs As New ADODB.Recordset
Rs.CursorLocation = 3
Rs.Open "Select Employee_Code,Employee_Name From Employee",Cn1
Do While Not Rs.EOF
SQL = ""Insert Into Employee(Employee_Code,Employee_Name) Values("
SQL = SQL & "'" & Rs!Employee_Code & "',"
SQL = SQL & "'" & Rs!Employee_Name & "')"
Cn2.Execute SQL
Loopبالتوفيق إن شاء الله ،
شكراً
تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 1 مارس 2008 في 23:37
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
شكرا اخى فعلا تم عمل الازم
من هذا الشرح القيم