الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديث سجلات جداول مرتبطه

مغلق
بدأه Yassin في 16 يناير 2006 · 5 رد · 905 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لقد قدمت هذا السؤال من قبل وقامت الاخت زهرة مشكورة بالرد لكن المشكلة مازالت قائمة

ولكى نزيد الامور بساطه

بفرض وجود جدول العملاء فى db1.mdb وهذا الجدول مرتبط بجدول حركة النقدية . ففى حالة تغيير كود العميل محمد محمود من 1011 الى 2022

سيتغير بالتالى كل الحقول الموجودة فى جدول حركة النقدية الى كود 2022 وذلك نتيجة تفعيل خاصية التكامل المرجعى فى الرابطة بين الجدولين..(كود العميل مفتاح اساسى )

وبفرض وجود جدول العملاء فى db2.mdb وهذاالجدول مرتبط بجدول اذون الصرف بعلاقة راس لاطراف ..

طبقا للحل المقدم من الاخت زهرة

عند التعديل فى جدول العملاء الموجود فى mdb1.mdb سيتم التعديل فى جدول العملاء الموجود فى

db2.mdb لأن بينهما link

لكن لن يتم اى تغيير فى جدول اذون الصرف اى سيبقى الكود القديم 1011 دون اى دلالة على عميل...............

اذاً ما هو الحل

#2

اخي الفاضل ياسين

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

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

Private Sub Form_AfterUpdate()
DoCmd.Requery
DoCmd.Save
End Sub

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

اختكم

زهره

#3

لقد قمت بإرفاق مثال حتى يكون سؤالى واضح

وطبقاً للمثال السؤال هو :

عند تغيير الكود 1011 الموجود فى db1.mdb فى جدول customers الى كود 2022

يحدث التالى :

تتغير السجلات الموجوده فى جدول Payed للكود الجديد

يتغير السجل الموجود فى customers الموجود فى db2.mdb

لكن

لا تتغير السجلات الموجوده فى جدول Bill ويصبح الكود الموجود بها ليس له دلاله

اذا كيف يمكن ان يتغير الكود بهذه السجلات

db.rar

#4

اخي الكريم ياسين

السلام عليكم ورحمة الله وبركاته

من الطبيعي جدا ان لا يتم اي تحديث على الجدول او حقوله لانه ليس هناك اي علاقة او ارتباط فلكي يكون هناك ارتباط بحقول القاعدة الاولى لابد من عمل ارتباط بين الجداول وقبل عمل الارتباط لابد ان يكون هناك علاقة بين customersCode في جدول customers مع ما يقابله من حقول في جدول Bill وهو customersCode وتكون العلاقة رأس بأطراف مع فرض التكامل المرجعي للتحديث والحذف من ناحية الجدول BILL فقط .

الان انتهينا من اصلاح الجداول

ننتقل للقاعدة الثانية

ونختار من ملف ثم احضار بيانات خارجية ثم جداول ثم نختار الجدولين customers و Bill مع مراعاة تفعيل الخيارات المتقدمة واختيار جداول ونقوم بالتأشير على علاقات وجداول ثم نضغط استيراد.

سنجد الجدولين تم وضعهم في القاعدة الثانية على شكل ارتباط .

اذا رغبت تشغيل الملف بالطريقة العادية فضع الملف بعد فك ضغطه على C:\db وقم بتجربة الملف

اذا رغبت في اعادة قاعدة البيانات الخاصة بك كانت والتي كانت على محرك الاقرص E في المجلد db

( لقد قمت بتغيير الارتباط بعد انزال الملف لانه لا يوجد لدي محرك اقراص E وتم تغيير المسار الى C )

تستطيع تغيير المسار الخاص بالقاعدة الثانية بالطريقة التالية ( يجب ان تكون القاعدة على المسار E:\DB\DB2.MDB

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

2. من شريط القوائم اختر ملف ثم احضار بيانات خارجية ثم ربط جداول

3. اختر القاعدة الاولى من المجلد E:\DB\DB1.MDB من مربع حوار الارتباط ثم اضغط على ارتباط

4. سيتم الارتباط الان بنجاح مع القاعدة الاولى .

5. انتقل الى القاعدة الاولى وقم بتغيير customersCode ثم اغلق القاعدة الاولى

6. انتقل للقاعدة الثانية واختر الجدول BILL وانظر النتيجة ستجده قد تغير بناء على ما تم تغييره في القاعدة الاولى

وهذا ملفك بعد التعديل

db.rar

اختكم

زهره

#5

السلام عليكم

الاخت الفاضله شكراً على الاهتمام والرد.

لكن الحل المقدم انا اعرفه ولله الحمد.

وكنت كل ما ارجوه هو الاجابه على السؤال كما هو. حيث ان لذلك اهميه كبيره ليست فقط على المستوى الشخصى

فتخيلى ان برنامج العملاء الموجود به جدول customers يحتوى على اثر من 25 جدول بخلاف كمية كبيرة من الاستعلامات

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

بالاضافة الى ذلك فانا احتاج نفس الجدول- customers - فى برامج مثل اوامر التوريد.

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

بالاضافة الى ايمانى الكبير بأن للمسألة حل..

شكراً للرد

#6

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

هذا الموضوع مغلق.

مواضيع مشابهة