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

كيف الربط بين الجداول ( العلاقات)

مغلق
بدأه أحمد الحربي في 29 يناير 2002 · 15 رد · 1,010 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام ..

أشكركم من الأعماق على تفضلكم بالإجابة على أسئلتي .. كم أنا ممنون لكم أيها الفضلاء ..وأما سؤالي هنا فهو :

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

- جدول رئيسي .. وضعت له مفتاحاً اساسياً .

- جدول2 .. به مفتاح خارجي .. وقيمه مكررة مثل ( مواضيع فرعية )

- جدول 3 .. به مفتاح خارجي .. وقيمه مكررة مثل ( الموضفين )

- جدول 4 .. به مفتاح خارجي .. وقيمه مكررة مثل ( أوامر وإرشادات يجب أن تنفذها أيها الموظف )

- حجدول 5 .. به مفتاح خارجي . وقيمه مكررة مثل ( أسباب عدم تنفيذ الأوامر المطلوبه من الموظف )

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

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

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

علماً بأن كل سجل في الجدول الرئيسي لا بد أن يكون له عدة سجلات من كل جدول من الجداول الآربعة الخارجية

ولكم جزيل الشكر والتقدير

#2

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

ربما كان أحد الجداول الفرعية ليس به قيم و لذلك أقترح تغيير نوع العلاقة بينه و بين الجدول الرئيسي الي Include all records from main Table

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

#3

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

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

وللجميع التحية

#4

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

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

سامحوني ... تعبتكم معاي

ولكم خالص التحية

#5

القاعدة هي عبارة عن تعاميم تأتي للإدراة وتحتاج إلى

1- شرح عليها للموظف المختص

2- معرفة تنفيذها من عدمه

3- وأسباب عدم التنفيذ وخطوات التنفيذ

4- وتسجيل المواضيع الفرعية التي ترد ضمن التعميم ومن ثم حفظها فأنشأت جداول كالآتي :

1- جدول رئيسي ويحتوي على المعلومات التالية عن التعميم ( رقم الحاسب رقم المعاملة ، التاريخ ، المشفوعات ، نصها ، نفذت أم لا ، تاريخ الحفظ ، ملف الحفظ ... )

2- جدول المواضيع الفرعية في التعميم

3- جدول الموظفين للإحالة إليهم .

4- جدول الشروحات

5- جدول أسباب عدم التنفيذ إذا لم ينفذ

6- جدول خطوات التنفيذ إذا كان منفذاً ( في الأخير دمجت الجدولين الأخيرين في جدول واحد )

( الجداول من 2-6 جداول فرعية لأنها تحتوي على تكرارات )

هذه هي الجداول / هل التقسيم هذا صحيح ..

ألأخوين العزيزين مصراوي ، أبو حمود

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

ولكما خالص التحية

محبكم

أحمد الحربي

#6

الأخ أحمد

ما رأيك أن ترسل لي القاعدة على بريدي الموجود في التوقيع .

ولك تحياتي

#7

انا ايضا اعاني من نفس هذه المشكله وبشده اريد عندما اضع new record في الجدول الرايسي ان ينشئ في الجداول الفرعيه new record موصوله به عبر العلاقه

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

#8

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

ولكم تحياتي

#9

الأخ العزيز أبو حمود .. وجدت حلاً للمشكلة عن طريق الكود .. أرجو أن لا تحدث مشلكل فيما بعد . والطريقة هي كالآتي :-

1- قمت بربط الجدول الرئيسي بجميع الجداول علاقة واحد لمتعدد

2- أنشأت نموذجاً مبنياً على الجدول الرئيسي وجعلته شاشة إدخال رئيسية ..

3- وضعت فيه المفاتيح الأساسية إضافة إلى حقول البيانات

4- جعلت أحد الحقول الرئيسية من نوع ترقيم تلقائي بزيادة

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

6- أنشأت نماذج بعدد الجداول المرتبطة

7- وضعت في شاشة الإدخال أزراراً تفتح النموذج المطلوب بعد أن تأخذ نسخة من المفتاح الأساسي وتضعه في المفتاح الخارجي لضمان أن يكون لكل سجلات خارجية سجلاً مرتبطاً في الجدول الرئيسي

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

أما عن القاعدة فهي في العمل .. وسأحاول إرسالها إليك إن شاء الله

ولك خالص تحياتي

#10

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

ولك تحياتي

#11

الأخ أحمد : هل ما تريده شبيه بالمثال التالي :

http://mypage.ayna.com/harith55/Tbls1.zip

(انقر الزر الأيمن ثم اختر حفظ الهدف باسم)

أم ماذا ؟

#12

شكراً لك أخي أبو حمود .. سأحاول إرسالها إليك

أخي حارث ..

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

#13

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

#14

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

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

#15

أخي مصراوي

لم أفهم القاعدة الأخيرة ممكن أن توضح أكثر وفقك الله لكل خير .

ولك تحياتي

#16

أخي العزيز أبو حمود

لم أستطع أخذ نسخة من القاعدة حيث ليس لدي صلاحيات الدخول إلى الـ A

عموماً : بالطريقة التي ذكرتها أنا .. كل شيء تمام .. مع يقني أن هناك طريقة علائقية أفضل

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

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

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

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

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

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

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