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

انشاء تقرير من جدولين بدون تكرار البيانات

بدأه محمود محمد عبد الحليم في 8 سبتمبر 2014 · 10 رد · 2,563 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

اقوم بنشاء تقرير من جدولين goals,,و astname بحيث يعرض التقرير   ( حقول  stname-  رقم الطالب  عنوان الطالب - اسم المدرسة - الصف- عنوان المنزل  رقم الموبايل - رقم هاتف المنزل   و فئة الاعاقة)

وايضا يعرض  حقول ( long- short 1 -short2- short3-short4-short5  - end  -begining )   ولكن المشكلة انة بعرض دائما   حقول  الجدول goals   مكررة   ( المقصود ان يعرض التقرير   معلومات طالب واحد   ويعرض عدة اهداف  كل طالب )

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

REPORT.rar

#2

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

لا بد من وجود علاقة بين الجدولين.

أنت وضع الحقل id هو الرابط بين الجدولين ونوع الحقل ( ترقيم تلقائي ) فكيف يتم الربط بينهم ؟

المفترض أن تنشي حقل ( رقم الطالب ) في جدول الأهداف وتجعله الرابط بين الجدولين .

 

- ولعدم إظهار النتائج المكررة استخدم distinct مثلا

 

select distinct StudentNumber from table1

460.gif

#3

reprt2.rarاخي العزيز متميز السلام عليكم

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

مع وافر التحية والتقدر على سرعة الرد والاهتمام

#4

اوضعت مرفق بالتغيرات التى اجريتها والف شكر على التعاون الجميل منكم

#5

السلام عليكم اخي محمود :)

 

انت الآن ربطت الجدولين عن طريق التاريخ ، فهل يكون هناك تاريخ واحد في سجل واحد في  goals ونفس التاريخ في سجل واحد في astname ؟

اذا كان الموضوع كذلك ، فاعمل استعلام بالجدولين ، واعمل التقرير على اساس الاستعلام :)

 

جعفر

#6

اخي العزيز جعفر  السلام عليكم ورحمة الله

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

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

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

#7

اخي العزيز جعفر  السلام عليكم ورحمة الله

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

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

  مش عارف ممكن تكون المشكلة في  العلاقات  او الاستعلام ارجوالمساعدة

 

reprt2.rar

#8

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

 

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

 

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

 

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

 

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

 

ثانياً جدول النشاطات (رقم النشاط ، نوع النشاط ، ... إلخ) حيث أن رقم النشاط هنا هو المفتاح المميز لنوع النشاط والذي لا يقبل التكرار، ولاحظ أنك ستجمع النشاطات كل نشاط على حده وبدون تكرار في هذا الجدول.  :mellow: 

 

ثالثاً وهنا أهم خطوة في الموضوع وهي التي ستحقق النتيجة التي تريدها أنت ، جدول البيانات المطلوبة (أي جدول ربط الطلاب بالنشاطات) وسيكون كالتالي : جدول نشاطات الطلاب (رقم الطالب ، رقم النشاط ، تاريخ البدء ، تاريخ الإنتهاء ، ملاحظات) وهذا مثال فقط ويمكن أن تزيد الحقول حسب نوعية البيانات المطلوبة ، ولاحظ هنا المفتاح المميز لهذا الجدول هو مجموعة الحقول الثلاثة سوياً ، وعند تصميم النموذج يمكنك عمل رقم الطالب مربع سرد وتحرير بدلا من مربع نص ويقرأ من جدول الطلاب لتختار الطالب ، ورقم النشاط بنفس الفكرة ، وسيكون لديك هنا النشاطات التي شارك بها الطلاب بتواريخ بدايتها ونهايتها.  ^_^ 

 

ولأي استفسار كلنا مستعدون وأعذرني على الإطالة ولكن هذه الطريقة الصحيحة وحتى عندما تريد أن تبني عليها تقاريرك أو استعلاماتك ستجدها أسهل ، وأيضا ستجد من يساعدك يستطيع أن يستوعب على الأقل طلبك فيسهل عليه مساعدتك بدلاً من أن يحتار هل تقصد كذا أم كذا ، وكما ان من مواضيعي موضوع اسمه "فكرة مبسطة عن العلاقات بين الجداول" وفيه شرح مبسط عن العلاقات وستعرف لماذا الطريقة التي شرحتها ستكون مفيدة.  ;) 

تم تعديل هذه المشاركة بواسطة AbuAdnan في 10 سبتمبر 2014 في 13:50

#9

السلام عليكم :)

 

ملاحظات ابوعدنان في مكانها ويجب النظر فيها بجدية :)

ولكني اشغلت بالعلاقات اللي عملها الاخ محمود ، وهذه النتيجة :)

 

1. هذه العلاقات بين الجدولين:

post-273849-0-57823500-1410349552.jpg

 

 

2. استعملت تاريخ 18-9-2014 للشخص الاول (محمود محمد) :

post-273849-0-76052400-1410349580_thumb.

 

 

3. ونفس التاريخ للاهداف ، ولاحظ اني استخدمت هدفين:

post-273849-0-55339400-1410349609_thumb.

 

4. اساس التقرير هذا اللاستعلام ، والذي سيطلب منك تاريخ التقرير (طبعا يمكنك لاحقا انك تجعل التاريخ هذا في نموذج وتستدعيه منه) :

post-273849-0-67300600-1410350189_thumb.

 

 

5. عندما تفتح التقرير يطلب منك التاريخ (من المادة 4 اعلاه) ، وانا ادخلت التاريخ :

post-273849-0-32426000-1410349638.jpg

 

 

6. ونتيجة التقرير:

post-273849-0-40589900-1410349667_thumb.

 

 

جعفر

254.reprt2.accdb.zip

#10

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

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

جزاكم الله خير 

( ابو عدنان - الاخ المتميز - الاستاذ جعفر )  بارك الله فيكم

#11

حياك الله :)

 

جعفر

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