اذهب الي المحتوي
أوفيسنا

كيف يتم ترحيل بيانات قاعدة الى قاعدة اخرى


الردود الموصى بها

كيف يتم ترحيل بيانات جدول من قاعدة الى جدول قاعدة اخرى له نفس الخصائص عن طريق الكود

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

اخوي ابو ريان

اعمل استعلام في القاعده المراد نقل البيانات لها و قم باظهار جمله sql ثم اكتب الجمله التاليه:

INSERT INTO yourtble1
SELECT *
FROM [D:\folder1\folder2\Desktop\yourdatabase.mdb].yourtable2 AS tB;

حيث yourtable1 هو الجدول المراد نقل البيانات له

yourdatabase هي قاعده البيانات المراد نقل البيانات منها

yourtable2 هو الجدول المراد نقل البيانات منه

و لا تنسى كتابه مسار قاعد البيانات بشكل صحيح

D:\folder1\folder2\Desktop\yourdatabase.mdb

رابط هذا التعليق
شارك

شكرا لك اخي الكريم وبارك الله فيك

ما اريده هو وضع الكود في القاعده المصدر منها وليس المصدر اليها

لم استطع عمل ذلك بجملة ال sql

وهل من طريقة لاستخدام محرر الفيجوال بدل جملة ال sql حتى استطيع استخدام application.currentproject.path حيث نأخذ في الاعتبار احتمال تغيير المسار .

رابط هذا التعليق
شارك

اخوي ابو ريان

افضل طريقه هو اختيار قاعده البيانات ذالك من خلال الاستعراض

في المودل او الوحدات النمطيه

ضع الكود التالي

Function GetOpenFile(Optional varDirectory As Variant, _
    Optional varTitleForDialog As Variant) As Variant

Dim strFilter As String
Dim lngFlags As Long
Dim varFileName As Variant
    lngFlags = ahtOFN_FILEMUSTEXIST Or _
                ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIR
    If IsMissing(varDirectory) Then
        varDirectory = ""
    End If
    If IsMissing(varTitleForDialog) Then
        varTitleForDialog = ""
    End If

    strFilter = ahtAddFilterItem(strFilter, _
                "Access (*.mdb)", "*.MDB;*.MDA")

    varFileName = ahtCommonFileOpenSave( _
                    OpenFile:=True, _
                    InitialDir:=varDirectory, _
                    Filter:=strFilter, _
                    Flags:=lngFlags, _
                    DialogTitle:=varTitleForDialog)
    If Not IsNull(varFileName) Then
        varFileName = TrimNull(varFileName)
    End If
    GetOpenFile = varFileName
End Function
ثم في زر امر على نموذج في قاعده البيانات المراد نقل البيانات منهاضع الكود التالي
DoCmd.TransferDatabase acExport, "Microsoft Access", GetOpenFile, cTable, "Yourtable", "Yourtable2"

حيث ان Yourtable1 هو الجدول المراد نقل البيانات منه

Yourtable2 هو الجدول المنقول له

رابط هذا التعليق
شارك

جزاك الله خيرا اخي الكريم

ولكن المشكلة هي ان الكود يقوم بحذف الجدول في القاعدة المصدر اليها ويستبدله بالجدول المصدر منه وهذا ما ظهر لي من خلال الرساله المرفقه

الا اذا كان هناك خطأ في استخدامي للكود

حيث قمت بعد اختيار القاعده بوضع الكود التالي لزر امر في حدث عند النقر

Dim ctable


DoCmd.TransferDatabase acExport, "Microsoft Access", txtPath, ctable, "table1", "table2"

حيث table 1   الجدول المصدر منه      table 2    الجدول المصدر اليه في القاعدة الاخرى

export_error.rar

رابط هذا التعليق
شارك

لم استخدم الكود الاول لانه موجود لدي كود مشابه لاختيار قاعدة البيانات وهو جاهز على form

صحيح لا يوجد مشكلة في الحذف طالما الجدولين متشابهين

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

تحياتي وتقديري لك اخي Knight22666

رابط هذا التعليق
شارك

اخوي ابو ريان

هذا كيد لوجودعلاقات

على العموم جرب ال sql التالي

INSERT INTO table2 IN 'D:\folder1\folder2\flder3\Yourdatabase2.mdb'
SELECT *
FROM table1;

حيث table2 هو الجدول المصدر اليه البيانات

Yourdatabase2 هي قاعده البايانات المصدر لها

table1 هو الجدول المصدرمنه

رابط هذا التعليق
شارك

اخي ياليت نبتعد عن جملة sql ونجعل ذلك عن طلريق الكود (طبعا اذا تفضلت علي بذلك اخي )

لاننا نخشى تغيير المسار ونريد التعبير بـ application . carrentproject.path

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

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information