الرئيسية > برمجة التقارير > عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio

عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio

عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio

كثيرا ما نحتاج الى عمل تقرير من نوع Master Details حيث يكون لدينا جدولان مرتبطان بعلاقة One to Many . في هذا المقال اتناول كيفية عمل تقارير بهذا الشكل .

المرحلة الاولى : تهيئة الإتصال بقاعدة البيانات وكائن الـ Dataset :

سأستخدم في هذا المثال قاعدة البيانات Northwind كالعادة ، والجدولان Orders,OrderDetails تحديدا ( لا شيء مختلف حتى هنا ) وسم الـ Dataset الجديد كما يحلو لك فلن احتاجه في شرحي ( عجيبه اليس كذلك !! ) . الآن توجه الى الـ Datset لنقوم هناك ببعض التعديلات ونبدأ ” العربدة ” !

ما سنقوم به هو اضافة TableAdapter وهو ما يشبه الجدول الافتراضي Virtual Table نضيف للـ Dataset بأنفسنا وننفذ عليه جمله استعلام SQL كما يحلو لنا ، فهو مثل الـ View في SQL Server او Query في Access ، نقوم فيها بتحديد كافة الحقول المطلوب عرضها في التقرير من الجدولين الاب والإبن معا ، وبدون هذا لن تفلح في الشروع بالعمل واحفظ ساعات من التجارب قضيتها بلا جدوى !

الآن للعمل ، ولنضف كائن Table Adapter جديد :

 

من المعالج الظاهر انقر على زر Next مرتين ، ثم في المرحلة الثالثة منه ضع جملة SQL التالية :

SELECT Orders.[Order ID], Orders.[Customer ID], Orders.[Order Date], Orders.[Shipped Date], [Order Details].[Order ID] AS Expr1, [Order Details].ID,
[Order Details].[Product ID], [Order Details].Quantity, [Order Details].[Unit Price]
FROM (Orders INNER JOIN
[Order Details] ON Orders.[Order ID] = [Order Details].[Order ID])

بعدها تنهي المعالج مباشرة بالضغط على زر Finish ، وتأكد من ان اسم الجدول الجديد هو Order_Details_Report وبهذا تنتهي هذه المرحلة وننتقل الى المرحلة التالية :

المرحلة الثانية : تصميم التقرير :

الآن نقوم بتصميم التقرير وهي مرحلة تحتوي العديد من الخطوات الصغيرة والسهله ، نقوم اولا بتحديد مصدر البيانات report Data Source ليكون الجدول الإفتراضي الذي انشاناه في المرحلة السابقة ونسبه الكامل OrdersDataSet_Order_Details_Report .

ثم نقوم بإضافة أداة List جديدة الى جسم التقرير ، ثم نقوم بتعديل الخاصيه DatasetName لتكون OrdersDataSet_Order_Details_Report ثم نعدل الخاصيه Grouping ونضع الحقل OrderID كمفتاح تجميع كما بالصورة التالية :

 

بعدها نضيف الحقول OrderId,CustomerId,OrderDate,ShippedDate الى داخل الـ List ، ثم نقوم بإضافة اداة Table لعرض البيانات الفرعيه وهي الحقول ProductID,Quantity,UnitPrice وذلك بسحب هذه الحقول من نافذة الـ Datasources ( الظاهره في الزاوية اليمنى العلوية من الصورة السابقة )الى الجدول مباشرة . بعدها ننتقل الى الزاوية العلوية اليسرى من اداة الجدول ونضغط بالزر الايمن عليه ونختار Properties من القائمة التي تظهر ، ثم انتقل الى التبويب Groups بعدها انقر على رز Edit Details Group واجعل الحقل ProductID ليكون مفتاح تجميع القيم في اداة الجدول .

الصورة التالية توضح الخطوتين السابقتين :

الخطوة التالية : لا لا يوجد أي خطوات فقد انتهى كل شيء كل ما عليك هو وضع اداة Report Viewer على احد النوافذة windows Forms وعرض التقرير عليها لترى النتيجة شامخة :

واذا كنت مستوعبا لما ذكرناه هنا ، وما ذكرناه حول عمل تقرير لسجل معين ، فيمكنك ان تقوم بعمل تقرير MasterDetails لأي سجل مراد بكل سهوله واترك هذا لكم لتكتشفوه في المرفق .

تحياتي

  1. سبتمبر 13, 2008 الساعة 11:56 م

    مدونة جميلة جدا وشكرا لكم

  2. yaser
    سبتمبر 25, 2008 الساعة 5:54 ص

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

    ياريت لو الاقي عندك حل للمشكله انا للاسف نش عارف اكتب الاسله فين لذلك كتبتها هنا
    اللينك بتاع السؤال
    http://www.arabteam2000-forum.com/index.php?showtopic=172275

  3. programmer
    يونيو 7, 2009 الساعة 12:30 م

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

  4. أغسطس 25, 2012 الساعة 12:46 ص

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

  5. أغسطس 25, 2012 الساعة 12:50 ص

    لقد اتبعت الطريقة السابقة ولكن ظهر معاي هذا الخطأ
    Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

  1. No trackbacks yet.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: