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

ربط علاقات بين جداول اكسس


ابو الريم
إذهب إلى أفضل إجابة Solved by kkhalifa1960,

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

تحية طيبة للجميع

بالحقيقة ضعت تماما بانشاء العلاقات ما بين الجداول ..... سأقوم بوصف الحالة

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

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

M_DATA.rar

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

اشكر لك جهدك ونعبك ولن يا ريت تشرح وظيفة الجداول التي قمت باضافتها ,lو ما هي الفائدة من ربطهم كلهم في جدول الرداء التوضبح وخاصة العلاقات علما اسأربط القاعدة مع فيجول بيسك لبناء برنامج لمراقبة المنتج

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

السلام عليكم

مداخلة لتوضيح مفهوم العلاقات

1- اخوي خليفة استخدم الحروف العربية في تسمية الحقول .. وهذا متعب برمجيا

2- اعتقد اغلب جداولك خدمية بمعنى انها ستحتوي على بيانات ثابتة ما عدا جدول واحد  هو المتغير وربما اثنين لم أتأكد .. وهذا الجدول هو محل العمليات 

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

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

 

ايضا شرحك للحالة مقتضب والافضل الاسترسال في الشرح

مثلا هل كل حاوية تحتوي على مادة واحدة فقط او اكثر  .. وتساؤلات اخرى كثيرة

عملية بناء الجداول بطرق علمية صحيحة يعتبر 80% من المشروع

 

 

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

14 ساعات مضت, ابوخليل said:

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

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

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

اذا انت متمكن ستعرف كيف تبني استعلاماتك .. 

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

المهم جدا هو التأكد من تصميم الجداول بطريقة صحيحة

وهذا يأتي بالخبرة وشيء من تحليل البيانات والتصور النهائي للمخرجات 

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

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

SELECT جدول1.حقل1, جدول2.حقل2
FROM جدول1
JOIN جدول2 ON جدول1.حقلX = جدول2.حقلY

واكون من الشاكرين لافهم الفكرة واترك الباقي علي

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

العلاقة رأس لأطراف تكامل مرجعي
SELECT tbl1.A1, tbl1.A2, tbl1.A3, tbl2.B1, tbl2.B2, tbl2.B3 FROM tbl1 INNER JOIN tbl2 ON tbl1.A1 = tbl2.B1

 العلاقة رأس لإطراف مع اظهار جميع سجلات الجدول2 
SELECT tbl1.A1, tbl1.A2, tbl1.A3, tbl2.B1, tbl2.B2, tbl2.B3 FROM tbl1 LEFT JOIN tbl2 ON tbl1.A1 = tbl2.B1

 العلاقة رأس لإطراف مع اظهار جميع سجلات الجدول1
SELECT tbl1.A1, tbl1.A2, tbl1.A3, tbl2.B1, tbl2.B2, tbl2.B3 FROM tbl1 RIGHT JOIN tbl2 ON tbl1.A1 = tbl2.B1

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

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

SELECT tbl1.A1, tbl1.A2, tbl1.A3, tbl2.B1, tbl2.B2, tbl2.B3 FROM tbl1, tbl2

 

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

شبابنا الله يعطيكون الف عافية

قبل البدية اريد التنوية بالمنتدى وأنا من أوئل المنضمين له من سنوات طوال قد تكون 20 سنة و كنت احمل اسم ramibitar او ramibitar700 او rami700 لا اذكر ولكني اضعت الحساب فأنا لست عضو جديد لكن المهم بالفكرة التواصل الفعال والستفادة العامة

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

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

test1.accdb

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

الآن تمام عليك .. اتضح عملك نوعا ما

قبل ربط العلاقات يجب ضبط تصميم الجداول

انت كررت حقول والاولى عدم تكرارها

مثلا : رقم المادة وكودها واسمها يجب ان يكون في جدول المواد ( الا ان كان الكود يحمل بيانات تخص المورد )

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

وينطبق ذلك على المرحلة

الاسماء  يمكن اظهارها في الفورمات والتقارير بناء على المعرفات وكذلك كود المادة 

الجدول الاساسي المتغير الذي هو محل العمليات المستمرة هو جدول التصنيع

والمشتريات متغير ايضا ولكن المتابعة للمادة في جدول التصنيع

المشتريات والمخازن كتلة .. والمواد والتصنيع كتلة اخرى .. 

تفضل واي استفسار  لا تتأخر

ولو كنت ستعمل على اكسس لنصحتك بالغاء هذه العلاقات

test2.accdb

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

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

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

تشتد حاجتها وتكون ضرورية عند عرض البيانات ، وهنا نستخدم الاستعلامات لضم الجداول والربط بينها

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

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

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

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

اشكرك جزيل الشكر اخي ابو خليل على الاهتمام و المتابعة

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

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

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

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

اكرر شكري و تحياتي  للجميع

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

جميل جدا وحقيقة يعجبني امثالك الذين يسيرون على الطريقة الصحيحة للتعلم

لا تتجاوز اي خطوة حتى تعلمها جيدا

من طرحك اعلاه لم تدقق فيما كتبته لك .. ( جدول المواد ليس له علاقة بعمليات الشراء او التصنيع .. هو مجرد معرف )

جداول يمكنك تعبئتها قبل بداية التصنيع وقبل الشراء : جدول اسماء المواد / جدول اسماء المخازن / جدول اسماء الموردين ... وكل هذه الجداول يتم الاختيار منها فقط بدلا من كتابتها في جدول المشتريات او جدول التصنيع . ... ويسجل فيها كل ما يستجد من مواد او مخازن او موردين ( هذا تعريف بعمل هذه الجداول آمل ان تستوعب )

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

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

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

طبعا بدون علاقات .. لاني لا اعمل شيئا غير مقتنع به.

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

وايضا سأعمل لك جملة sql لعرض نتائج اكثر من جدول

test3.accdb

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

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

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

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

34 دقائق مضت, ابو الريم said:

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

???

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

الان, ابوخليل said:

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

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

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

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

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

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

Important Information