اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نقل بيانات معينة من قاعدة الى اخرى بشروط (تم الدمج)


hassan_mah

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

السلام عليكم ورحمة الله وبركاته اعضاء المنتدى واساتذتنا الكبار

استفسارى اليوم معقد قليلاً على الاقل بالنسبة لى

مرفق عدد 2 قاعدة بيانات مثال على ما اريده والان نبدأ فى طرح المشكلة:

نفترض اننا نملك اكثر من واجهة لإدخال بيانات الموظفين ورواتبهم السنوية

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

اصبح لدينا فى القاعدة رقم 1 مثلا الموظف محمد تم ادخال راتب السنين 2002 و 2003 و 2008

فى القاعدة رقم 2 تم ادخال نفس الموظف ولكن برواتب 2002 و 2009 و 2005 و 2006

والموظفين فى قواعد البيانات ليسوا بنفس ترتيب السجلات اى اننا لن نستطيع ان نأخذ سنة 2009 كوبى و بيست مثلاً

وهناك نسخة بها موظفين زيادة ليسوا موجودين فى القاعدة الاخرى او العكس

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

اتمنى ان اجد حل عند اساتذتنا الكرام وشكراً جزيلاً مقدماً.

DBs.rar

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

السلام عليكم اعضاء المنتدى واساتذتنا الكرام

مرفق قاعدتين بيانات

قاعدة 1 بها ثلاث موظفين احمد ومحمد ومحمود

قاعدة 2 بها نفس الثلاثة ويزيد عليهم ثلاثة اخرون

بجانب كل موظف خانة راتب سنة 2002 وسنة 2003

قاعدة 1 راتب سنة 2003 لأحمد ومحمود فارغ على عكس قاعدة 2

المطلوب كود برمجى يقوم بنقل راتب 2003 لهم للقاعدة 1 والنقل يكون بشرط:

نقل عمود راتب 2003 كامل من قاعدة 2 الى قاعدة 1 عندما يكون الاسم متطابق وعندما تكون الخانة فارغة

اى فى عملية النقل عندما يصل الى راتب (محمد) يتجاهل نقله لأنه موجود.

اتمنى مساعدتكم وشكراً جزيلاً مقدماً.

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

السلام عليكم

بل ممكن  وباستعلام تحديث ولكن يتم التحديث  بين الجدولين  على عمود عمود

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

     ثانيا : يتم انشاء استعلامين  لسنة واحدة متشابهة في الجدولين

 في الاول يتم اظهار الحقول الفارغة وفي الثاني يتم اظهار الحقول التي تحتوي على بيانات

     ثالثا :  نعمل استعلام تحديث بناء على الاستعلامين السابقين مع ملاحظة ربط العلاقة بين الاسماء

  رابعا : نشغل الاستعلام  فيقوم بتحديث الحقول الفارغة بما يقابلها من قيم في الاستعلام الاخر

          خامسا : نكرر العملية لكل عمود

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

اشكرك استاذى الفاضل ابو خليل

انا حاولت على طريقة حضرتك لكن فيما يبدو هناك اشياء لم افهمها

وما فهمته طبقته وجربت معه دالة iif وقمت بعمل عمود جديد يضم بيانات الجدول الاساسية ويملأ الفوارغ فقط من الجدول الاخر

ثم قمت بعمل استعلام تحديث يقوم بتحويل قيم الخانة الى القيم بالعمود الذى تم عمله بـiif

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

السلام عليكم

هناك طريقه غادرناه مع النسخه 2003 تسمى النسخ المتماثل

فاذا انت تستخدم النسخه 2003 تنفع معاك

وسوف اجد لك شرحها ان شاء الله (شرح طيبة الذكر --- زهره العبدالله ----ام عهود)

لان نستخدم نسخة 2013

بالتوفيق

السلام عليكم

للامانه العلميه  هذا الشرح لطيبة الذكر

الاستاذه زهره العبدالله ام عهود جزاها الله عنا خير

ما هي الفائدة من اجراء عمل النسخ المتماثل لقواعد البيانات ؟

الفائدة او الغرض من ذلك انه لو كان لديك عدة مستخدمين يعملون على عدة اجهزة سواء على الشبكه المحلية او في مناطق متفرقه مثلا فروع منتشره في ارجاء الدوله ولا تستطيع الوصول لهذه الفروع فكل ما عليك هو عمل نسخة " تصميم رئيسي " ومن ثم عمل نسخ متماثله حتى لو كانت مليون نسخة متماثله فلا يوجد مشكله في ذلك وتوزيعها على كافة الفروع المنتشره سواء بالبريد او بأي وسيله المهم ان تصل للفروع او الاشخاص العاملين . بعد فترة من الزمن سواء كانت يومية او اسبوعية او شهريه يتم استعلام ( نسخه من ) النسخ المتماثله من جميع الفروع وسواء ارسلوها بالبريد او بأي طريقه المهم ان تصل الى الفرع الرئيسي الذي به القاعدة الأساسية " التصميم الرئيسي " وهنا يتم استخلاص البيانات من النسخ المتماثله واحدة بعد الاخرى وذلك عن طريق مزامنتها مع النسخه الرئيسية " التصميم الرئيسي " وبهذا يتم تحديث القاعدة الرئيسية بأحدث البيانات بشكل دوري .

كيف نقوم بإنشاء النسخ المتماثل ؟

1. نقوم بإنشاء مجلد جديد على محرك الأقراص C وليكن مثلا اسمه MyDataBase ونضع به قاعدة البيانات الخاصة بنا وليكن اسمها مثلا zaDataBase

2. نقوم بفتح قاعد البيانات المطلوبه ثم نتأكد من عدم وجود اخطاء بها وخاصة في الأكواد .

3. نستخدم خيار الضغط والإصلاح لقواعد البيانات ( قوائم الأكسيس - ادوات - ادوات مساعدة لقواعد البيانات - ضغط واصلاح )

4. اذا كانت قاعدة البيانات عليها رقم سري يتم ازالته .

5. نقوم بفتح قاعدة البيانات المطلوبه ثم نذهب الى قوائم الاكسيس ونختار ادوات ثم نسخة متماثلة ثم انشاء نسخة متماثلة

NM1.gif

ستظهر لنا رسالة تنبيه انه يجب اغلاق القاعدة الحالية لأنه سيتم تحويلها الى نسخة " تصميم رئيسي " نضغط على نعم

NM2.gif

سيتم البدء بالمعالجة واثناء ذلك ستظهر لك رسالة تفيدك ان قاعدة بيانتك ستتحول الى نسخة " تصميم رئيسي " وهذا الأختيار مهم جدا وسيقوم المعالج بتحويل قاعدة بياناتك الى نسخة احتياطية تنتهي بالإمتداد bak - ( للرجوع لها فيما لو احتجتها وذلك عن طريق تحويل الإمتداد فقط من bak الى mdb ولكن تضعها في مجلد مختلف ) - وفي الرسالة يظهر لك موقع القاعدة التي سيتم تحويلها الى نسخة احتياطية فكل ما عليك هو الضغط على زر نعم

NM3.gif

ستظهر لك نافذة تخبرك بموقع النسخة المثماثلة ولكن قبل الضغط على موافق عليك التأكد من موقع النسخة انها على نفس المسار السابق وايضا نقوم بإختيار علامة الصح في خانة الاختيار ( منع الحذف ) - هذه الميزه مفيدة جدا حتى لا يقوم المستخدمين بحذف الكائنات من النسخة المتماثلة سواء كانت مربعات النص او التعديل او التبديل في واجهة البرنامج وكل ما عليهم هو الاضافة او التعديل او حذف البيانات فقط وعند عملية تزامن النسخة المتماثلة مع التصميم الرئيسي فإنه فقط يتم جلب البيانات الجديده من جداول النسخة المثماثله الى التصميم الرئيسي ( فقط النسخة الرئيسية " التصميم الرئيسي هو الذي يمكن التعديل فيه ونشره الى باقي النسخ المتماثله ). بالنسبة للحفظ بنوع فسيكون عام حتى يمكن الإضافة والتعديل ولكن ليس الحذف اما بخصوص الأولوية فيتم تحديدها على افتراضي ( وهي موضوعة اصلا على ذلك )

NM4.gif

نقوم الآن بالضغط على موافق وستظهر لنا رسالة اخيره تخبرنا ان برنامج الأكسيس قام بعمل نسخ متماثل لهذه القاعدة على نفس المسار في المجلد ويمكن لنسخة التصميم الرئيسي فقط قبول التغييرات التي حدثت في النسخ المتماثلة نقوم الان بالضغط على موافق لإنهاء المعالج

NM5.gif

 

بعد ان ينتهي المعالج من عمل النسخة المتماثله فنقوم بفتحها وسنجدها شبيهة تماما بنسخة التصميم الرئيسي ما عدى بعض الاختلافات من حيث رموز الكائنات لاحظ كيف يكون الاختلاف عن قاعدة البيانات العادية فقد تم اضافة ما يشبه الدائرة الصفراء وبها سهمين ( احمر و ازرق ) متعاكسين وهذا ينطبق على كل كائنات النسخ المتماثلة .

NM7.gif

نريد الان ان نقوم بتعديل تصميم قاعدة النسخة المتماثلة لهذا نعرض النموذج او التقرير او الجدول او الاستعلام او اي كائن في وضع التصميم لكي نقوم بحذف او تعديل او اضافة اي شيء عليها في هذه الحالة ستظهر لنا رسالة وتخبرنا انه لا يمكن اجراء اي تعديل او حذف على هذه الكائنات وانما هي للقراءة فقط وهذا يعتبر نوعا من انواع الحماية للقاعدة .

NM6.gif

نستطيع الان انشاء عدد لا متناهي من النسخ المتماثلة واعطاء كل نسخة رقم معين من خلال اختيار نسخة " التصميم الرئيسي " ومن ثم توزيعها على الأجهزة .

بعد توزيع النسخ المتماثله على الاجهزه طبعا سيتم فتحها والبدء بإضافة البيانات فيها وبعد الانتهاء من اضافة البيانات سيتم نسخ النسخ المتماثلة من الاجهزة كل حسب رقمها المعطى لها ثم وضعها في نفس مجلد نسخة " التصميم الرئيسي " الان نقوم بفتح نسخة " التصميم الرئيسي " ومن ثم التوجه الى ادوات ثم نسخة متماثله ثم التزامن الآن لجلب البيانات الجديده الى نسخة " التصميم الرئيسي "

 

NM8.gif

نتابع

 

ستظهر لنا رسالة بضرورة اغلاق كافة الكائنات المزامنه فنختار " نعم "

NM9.gif

سيقوم المعالج فورا بإختيار اول نسخة متماثلة موجوده في المجلد اذا لم نرغب ان يتم التزامن مع هذه النسخة نختار نسخة ثانية من خلال استعراض ثم نختار النسخة المطلوبه

NM10.gif

ستظهر لنا رسالة جديده تبلغنا بضرورة اغلاق قاعدة البيانات للنسخة المتماثلة المطلوب مزامنتها نضغط موافق

NM11.gif

واخيرا ستظهر لنا رسالة بنجاح العملية واتمام المزامنه حيث تم جلب جميع البيانات من النسخة المتماثلة الى قاعدة " التصميم الرئيسي "

NM12.gif

 

 

استكشاف أخطاء النسخ المتماثل وإصلاحها

 

لا يمكنني العثور علي التصميم الرئيسي ؟

من المحتمل أنه قد تم نقل التصميم الرئيسي من موقعه الأصلي أو أنه قد تم إتلافه . للعثور على الموقع الجديد:

افتح نسخة متماثلة في مجموعة نسخ متماثل .

في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

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

حدد عضو لمجموعة النسخ المتماثل. في حالة ظهور خانة الاختيار جعل 'اسم الملف' التصميم الرئيسي ، سيصبح العضو الذي تتزامن معه هو التصميم الرئيسي .

لا يمكنني فتح التصميم الرئيسي ؟

من المحتمل أن التصميم الرئيسي قد تم إتلافه . قم بعمل نسخة متماثلة للتصميم الرئيسي الجديد .

تأكد من عدم استخدام النسخة المتماثلة أو التصميم الرئيسي الحالي في أي مكان آخر .

افتح النسخة المتماثلة الذي تريد جعلها التصميم الرئيسي الجديد .

في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

حدد التصميم الرئيسي الجديد كعضو للتزامن معه.

تحقق من خانة الاختيار جعل 'اسم الملف' التصميم الرئيسي .

أريد استرداد التصميم الرئيسي ؟

يمكنك استرداد التصميم الرئيسي في حالة فقدان الملف أو إتلافه أو نقله . بالرغم من ذلك ، لا يعد هذا الخيار متاحاً إذا كانت النسخة المتماثلة المفتوحة حالياً هي نسخة متماثلة جزئية .

تأكد أنه لا يوجد تصميم رئيسي في مجموعة النسخة المتماثلة .

افتح النسخة المتماثلة حيث تريد إنشاء التصميم الرئيسي الجديد .

في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

انقر فوق نسخة متماثلة في القائمة, ثم انقر فوق موافق.

كرر الخطوات من 2 إلى 4 حسب الضرورة لتزامن مع كل نسخة متماثلة متبقية في مجموعة النسخ المتماثل .

هام تـأكد من التزامن مع كافة النسخ المتماثلة الأخرى في مجموعة النسخ المتماثل .

في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

انقر فوق نعم.

لا يمكنني إنشاء النسخة المتماثلة للتصميم الرئيسي ؟

قد يتم استخدام النسخة المتماثلة بواسطة عملية أو تطبيق آخر ولا يمكن فتحها للاستخدام الخاص. انتظر عدة دقائق، وحاول مرة أخرى.

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

يوجد تصميمين رئيسيين في مجموعة النسخ المتماثلة ؟

يمنع وجود أكثر من تصميم رئيسي واحد في مجموعة النسخ المتماثل أعضاء المجموعة من التزامن بشكل صحيح . إذا حدث ذلك، قم بما يلي:

تحديد أي التصميمات الرئيسية التي ستقوم بالاحتفاظ بها لكي تكون التصميم الرئيسي .

حذف التصميم الرئيسي الذي لا يجب أن يتواجد .

حذف كافة النسخ المتماثلة التي تحتوي على أحدث مزامنة مع التصميم الرئيسي المحذوف أو مع نسخ متماثلة أخرى تحتوي على أحدث مزامنة مع التصميم الرئيسي المحذوف .

تنبيه

لا تقم بحذف التصميم الرئيسي لـ مجموعة النسخ المتماثل ما لم يعد التصميم الرئيسي يعمل بشكل صحيح . يمنعك حذف التصميم الرئيسي من تغيير التصميم لقاعدة البيانات .

إنها فكرة جيدة للتحقق من النسخة المتماثلة للتعارضات الموجودة. والا، قد يتم فقد السجل لأي تعارضات موجودة عندما تقوم بحذف (أو نقل) النسخة المتماثلة. في مستكشف Microsoft Windows، حدد النسخة المتماثلة التي تريد حذفها.

انقر فوق النسخة المتماثلة التي تريد حذفها، ثم اضغط المفتاح DELETE.

من خلال نسخة آخرى في مجموعة النسخ المتماثل، حاول تنفيذ التزامن مع نسخه متماثله محذوفه . ( ينشر هذا الإجراء الحذف للنسخ المتماثلة الأخرى ) .

قم بإنشاء نسخ متماثلة جديدة من التصميم الرئيسي المتبقي لاستبدال النسخة المتماثلة أو النسخ المتماثلة التي قمت بحذفها.

عندما أقوم بتغيير بيانات في نسخة متماثلة من مجموعة النسخة المتماثلة، لا يقوم بالتغيير في نسخة متماثلة أخرى؟

افتح اي نسخة متماثلة من مجموعة النسخ المتماثل التي تريد مزامنتها في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

ادخل المسار واسم الملف لقاعدة بيانات لها نسخ متماثل التي تريد لقاعدة البيانات المفتوحة مزامنتها.

انقر فوق موافق.

اغلق قاعدة البيانات لعرض السجلات المحدثة وأعد فتحها.

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

عند قيامي بتغيير تصميم كائن في التصميم الرئيسي، لا يظهر التغيير في أي نسخة متماثلة؟

افتح التصميم الرئيسي في القائمة أدوات، قم بالإشارة إلى نسخة متماثلة، ثم انقر فوق تزامن الآن.

أريد استخدام برنامج مختلف لحل تعارضات التزامن؟

افتح التصميم الرئيسي لـ مجموعة النسخ المتماثل في القائمة "ملف"، انقر فوق "خصائص قاعدة البيانات".

انقر فوق علامة التبويب "مخصص".

في المربع اسم، اكتب دالة تعارضات النسخ المتماثل ReplicationConflictFunction.

في المربع "نوع"، انقر فوق "نص".

في المربع "قيمة"، اكتب اسم دالة المخصصة متبوعة بـ ( ). على سبيل المثال، إذا كان اسم الدالة المخصصة هو MyResolver، اكتب ( )MyResolver.

لا أريد إجراء نسخ متماثل للنماذج أو التقارير أو وحدات الماكرو أو الوحدات النمطية عندما أقوم بنسخ متماثل لقاعدة البيانات؟

ملاحظة يجب إجراء هذه العملية قبل حدوث نسخ متماثل لقاعدة البيانات لهذا اتبع الآتي .

في القائمة "ملف"، انقر فوق "خصائص قاعدة البيانات".

انقر فوق علامة التبويب "مخصص".

حدد الخاصية نسخ_تماثل_للمشروع في المربع خصائص .

انقر فوق "لا"بجانب "القيمة".

انقر فوق "تعديل".

وهذه هي نسخة " التصميم الرئيسي " ومعه نسختين متماثلتين قم بالتجربه عليها وادخل بيانات جديده في النسخ المتماثله ثم قم بعملية المزامنه وجلب البيانات لقاعدة " التصميم الرئيسي "

قاعدة " التصميم الرئيسي " هي zaSearch&AutoFillRecord.mdb

قاعدة " النسخة المتماثلة رقم 1 هي 1zaSearch&AutoFillRecord.mdb

قاعدة " النسخة المتماثلة رقم 2 هي 2zaSearch&AutoFillRecord.mdb

وستجدهم في المجلد MyDataBase

MyDataBase.rar

 

اسأل الله العلي القدير ان ينفعنا واياكم بما علمنا إنه على كل شيء قدير

ختاما لكم مني كل الشكر والتقدير

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information