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

[ تمت الإجابة ]نوع العلاقة التي تمكنني من حذف سجل من جميع الجداول !

بدأه جارة الرسول في 20 أبريل 2008 · 14 رد · 1,500 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخوتي الكرام ..أنا لدي ثلاثة جداول ..

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

أسال الله أن أجد عندكم الجاوب الشافي في كيفية إنشاء هذه العلاقة ..

وبارك الله فيكم ..

أختكم جارة الرسول :D

#2

الاخت جارة الرسول

السلام عليكم

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

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

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

بالتوفيق

#3

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

جزيت خيراً اخي يوسف أحمد ..

ربما أخي يوسف لم أوضح استفساري بما فيه الكفاية

أرفقت الآن مثالاً أريد أن أنشيء فيه علاقة تربط الجداول الثلاث ببعضها ..

(table1,table2,table3)

بحيث أن المفتاح الرئيسي هو الحقل : AutoNumbring من نوع ترقيم تلقائي..

وأريد عندما أقوم بالحذف من أحد الجداول الثلاثة سواء ً كان هو الجدول الأب أم لا ..

يحذف من بقية الجداول ..

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

وجزاكم الله خيراً..

أختكم / جارة الرسول ..

:D

DataBaseEXample.rar

#4

اختي الكريمة

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

بالتوفيق

#5

أخي الكريم يوسف ..

أشكرك أولاً على مساعدتي ..

وهذه نموذج مبسط لقاعدة مشروعي وقد حدد الدكتور أن يكون الحقل AutoNumbring هو المفتاح الرئيسي..

وعدلت الآن قاعدة البيانات لتوضح أكثر سير العمل ..

في جميع الجداول الثلاثة تحتوي على عمود اسم المواد الكيميائية ..

ولو حذف المستخدم المادة الكيميائية من أي من الجداول الثلاثة .. تحذف من البقية ..

أي نلغي وجود هذه المادة في حال الحذف من أي جدول ..

أرجو أن أكون قد وضحت الآن الفكرة ..

بارك الله فيك أخي يوسف ..

:)

DataBaseEXample.rar

#6

بارك الله فيك اختي جارة الرسول

هذا ما كنت اقصده بالتعديل

بما ان المفاتيح الغريبة المضافة هي من نوع نص فانا اقترح ان تكون من نوع رقم ( رقم المادة الكيميائية ) وليس اسمها ليتم عمل علاقة واحد الى متعدد بين جدول المواد الكيميائية وبين الجداول الاخرى بناءً على حقل رقم المادة الكيميائية .. فاختلاف النوع لا يحقق العلاقة

لذا تم تغيير الحقل الجديد ليكون هو المفتاح الغريب من نوع رقم ( رقم المادة الكيميائية )

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

جربي المرفق

شكراً جزيلاُ لك على التوضيح وبانتظار ردك

بالتوفيق

DataBaseEXample.rar

#7

وفيك بارك الله أخي الكريم .. وأدعو الله أن يوفقك في أمورك كلها ..

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

لكن أخي الكريم طمعي في كرم أخلاقك هو مايدفعني لأن أستفسر منك :$

أظنك اخي الكريم تقصد الآن أن أقوم بإنشاء حقل من نوع رقم لرقم المادة الكيمائية ..ويكون هو المفتاح الغريب في الجدولين الآخرين ..

ثم أنشيء بينهم علاقة ويكون حقل AutoNumbring مفتاح رئيسي في الجدول الأول ..

أتمنى أن أكون قد فهمت فكرتك .. :D

بالنسبة للمرفق أخي الكريم قد جربت أن أحذف سجل من الجدول رقم 2 وحذف من نفس الجدول ..

لكن لم يقم بالحذف من الجدول الأول والثالث.. وهذه هي عقدة المشكلة ..

أن تتعامل كل الجداول مع السجلات كما هو حال الجدول رقم 1

:wacko:

أكرر شكري لك أخي الكريم .. وأسال الله لك التوفيق في الدارين ..

#8

جزاك الله خيراً اختنا الكريمة

بناءً على بنية الجداول:

هناك تساؤل : اذا كانت العلاقة المطلوبة هي واحد الى متعدد بين الجدول الرئيسي والجدولين الآخرين ستسير الامور كالتالي

سيكون هناك سجل لكل مادة ويقابله سجلات متعددة بباقي الجداول ( الطرف الآخر من العلاقة ) التساؤل هو كيف ستكون آلية الحذف فيما يخص هذه السجلات من احد هذه الجداول ... سيتم استخدام استعلام حذف بناءً على معايير معينة

اذا كنت تريدين ان يتم ذلك مباشرة من خلال الجداول فاعتقد بأن هذا لا يمكن تحقيقه ... الا برمجياً ( والله اعلى واعلم )

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

اذا كان هناك رأي آخر لاحد اخواني بالمنتدى فليتفضل مشكوراً

#9

بارك الله فيك أخي يوسف ..

أخي الكريم في الملف المرفق آخر ماتوصلت إليه بعد العديد من المحاولات ..

وقد أستطعت الآن أقوم بالحذف كما هو مطلوب ..

لكن واجهتني مشكلة الإضافة ..لا أستطيع أن أضيف في أي جدول :S

وبالنسبة لنوع العلاقة هي كما ذكرت من واحد إلى متعدد ..

سجل المادة الكيميائية ... يقابله سجل في كل من الجداول الأخرى ..

وأحبذ أن أربط بين الجداول مباشرة .. ولو برمجيا ً..

وأسأل الله أن يوفقك في الدارين ..

أختك /جارة الرسول

DataBaseEXample.rar

#10

الاخت جارة الرسول

بناءً على المرفق .. العلاقة واحد الى واحد

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

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

جزاك الله كل خير على دعواتك الطيبة ... ولك مثلها

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

بالتوفيق

DataBaseEXample.rar

#11

بارك الله فيك أخي يوسف وجزاك رضوانه ..

جربت أخي الكريم يوسف المرفق ..وحاولت أن أحكايه ..

فتمت الإضافة في جدول واحد فقط والآخر لم تتم فيه الإضافة .. :cry:

أخي الكريم أتمنى أن ترى معي أين الخطأ في إنشاء الاستعلام ..

لأنني أول مرة أقوم بذلك ..

1- إنشاء استعلام باستخدام المعالج ..أختار اسم الجدول ..حقل اسم المادة الكيميائية فقط - في حالة الإضافة -(جميع الحقول في حالة الحذف)

ثم من شاشة تصميم الاستعلام .. ألغي علامة الصح عند إظهار..

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

وفي خانة معايير..أضع الكود الذي استخدمته بتغيير اسم الفورم ..

ثم أضع الكود الموجود في الفيجوال بيسك ..مع تغيير اسم الاستعلام ..

..........................................

قمت بهذه الخطوات ولكن لا أعلم أين الخطأ فيها تماما ً :unsure:

وهناك سؤال أخي الكريم ..يوسف :$

الآن في قاعدتي لدي ثلاث نماذج .. وفكرت أن أضع بنفس الطريقة الاستعلامات

ولكن أغير الجدول الأساس والجدول المضاف إليه في كل استعلام ..

فهل هذه طريقة سلمية ؟؟

حقيقة أخي الكريم لا أعرف كيف أعبر عن شكري لك ..

لكن لك مني وعد بدعوة في حرم رسول الله صلى الله عليه وسلم

وأجو الله أن يقبلها مني ..

#12

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

اليك التعديل ولكن بدون عمل اي علاقة

اعتذر عن عدم تنسيق النماذج بصورة جيدة نظراً لضيق الوقت

DataBaseEXample.rar

#13

جزاك الله كل الخير أخي يوسف .. أخيراً أنتهت مشكلتي .. بفضل الله ثم بفضل مساعدتك .. :D

وأعتذر عن التأخر في الرد لكن ظروف الاختبارات ..لم تسمح لي بتطبيق التعديل .. :blush:

أكرر شكري لك .. وبارك الله لك في علمك وغفر لك ..

#14

أختي الكريمة

يمكنك تحديد علاقة (فرض التكامل المرجعي ) بين الجادول ولكن يجب |أن يكون مفتاح الجدول الأول هو سجل فريد

#15

بسم الله الرحمن الرحيم

تمت الإجابة على الموضوع

إدارة الفريق العربي للبرمجة

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…