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

عرض نتائج جداول مرتبطة

مغلق
بدأه newahmed في 5 يونيو 2006 · 3 رد · 829 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

وقمت بعمل نفس الاستعلام في الاكسس وظهرت لي نفس النتائج عند عمل التقرير..

ارجو ممن له معرفة في كيفية تجاوز الحقول المتكررة ان يساعدني..

ولكم جزيل الشكر

ملاحظة: الجداول هي :

1-جدول المعلومات الشخصية

تسلسل (مفتاح اولي)

اسم الشخص

عمره

مواليده

محل سكنه

رقم هاتفه

2- الجدول الثاني نشاطاته

تسلسل (مفتاح اولي) .. فقط للتحديث

رقم (يستخدم لربط الجداول..متكرر)

اسم النشاط

تاريخ النشاط

مكان النشاط

3- جدول الثالث.. الجوائز

تسلسل (مفتاح اولي) .. فقط للتحديث

رقم (يستخدم لربط الجداول.. متكرر)

اسم الجائزة

تاريخ استلامها

الجهة المانحة

4- الجدول الرابع الاندية والجمعيات المنتمي اليها

تسلسل(مفتاح اولي) .. فقط للتحديث

رقم (يستخدم لربط الجداول.. متكرر)

اسم الجمعية او النادي

تاريخ الانتماء

سمة الانتماء

5- الجدول الخامس الشهادات والتحصيل العلمي

تسلسل (مفتاح اولي) .. فقط للتحديث

رقم (يستخدم لربط الجداول.. متكرر)

اسم الشهادة

تاريخ الحصول عليها

الجهة المانحة

الدولة

علماً انني قمت ببرمجة هذا النظام على الفجول بيسك نت 2005

هذه هي فكرة البرنامج.. وقمت بإكمال البرنامج وهو شغال 100% عن طريق عرض العلاقات في الداتا كرد.. ولكن في التقرير حصلت هذه المشكلة..

ارجو ممن لديه الحل الإجابة بسرعة .. وجزاكم الله خيرا

#2

أرجو الاجابة عن الموضوع من قبل ذوي الخبرة ....رجاااااااءً

#3

السلام عليكم

انت استخدمت left outer join

و ال outer join بصفه عامه بيرجع جميع ال rows حسب نوعه

Outer joins can be a left, a right, or full outer join.

Outer joins are specified with one of the following sets of keywords when they are specified in the FROM clause:

LEFT JOIN or LEFT OUTER JOIN

The result set of a left outer join includes all the rows from the left table specified in the LEFT OUTER clause, not just the ones in which the joined columns match. When a row in the left table has no matching rows in the right table, the associated result set row contains null values for all select list columns coming from the right table.

RIGHT JOIN or RIGHT OUTER JOIN

A right outer join is the reverse of a left outer join. All rows from the right table are returned. Null values are returned for the left table any time a right table row has no matching row in the left table.

FULL JOIN or FULL OUTER JOIN

A full outer join returns all rows in both the left and right tables. Any time a row has no match in the other table, the select list columns from the other table contain null values. When there is a match between the tables, the entire result set row contains data values from the base tables.

#4

الأخ العزيز أحمد طاهر الباز..

تحية طيبة

شكراً لمشاركتك وتفاعلك مع الموضوع..

ولكن سؤالي كان انه عند الربط بين الجداول بطريقة join بكافة انواعها (left , right, inner) سيتكرر احد القيود بحيث انه لو ربطنا احد الحقول مع حقل آخر في الجدول بصيغة left join فستظهر جميع قيود الحقل في الجدول الثاني مع row واحد من الحقل في الجدول الاول ولكن مكرر بعدد قيود حقل الجدول الثاني..

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

وتجاوزاً لهذه المشكلة وُضعت العلاقات relations في data grid .. ولكن عن الطباعة في الكريستال ريبورت فإن المشكلة تظهر مجدداً.. خصوصاً إذا كان الربط من قاعدة البيانات مباشرة.

وعموماً .. فقد تمكنت من ايجاد الحل بعد محاولات عديدة .. وهو بعمل تقرير لكل جدول ثم ربطها بالجدول الاساسي عن طريق subreport وتفعيل الـ link بين الجداول.. وهذه الطريقة ناجحة 100% ولا توجد فيها اي مشاكل .. إضافة إلى الترتيب الذي توفره التقارير.

وأكرر شكري الجزيل لك ولمشكاركتك.

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

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