27
Learn Crystal Reports [email protected] 1 com . yahoo @ 2005 net _ Solo _ ARAB TEAM 2000 PDF created with pdfFactory trial version www.pdffactory.com

Learn Crystal Reports2

Embed Size (px)

Citation preview

Page 1: Learn Crystal Reports2

Learn Crystal Reports [email protected]

1

com.yahoo@2005net_Solo _

ARAB TEAM 2000

PDF created with pdfFactory trial version www.pdffactory.com

Page 2: Learn Crystal Reports2

Learn Crystal Reports [email protected]

2

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

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

:لتكوين مجموعات بيانات

group ثم ننقر insertننقر بزر الماوس االيمن على مصمم التقرير نشير الى -1 نختار من القائمة المنسدلة االولى حقل التقسيم insert groupفى مربع حوار -2 نختار اتجاه فرز البيانات من القائمة المنسدلة الثانية -3 customize groupمبينة فى مقدمة المجموعة نختار مربـع عندما نرغب فى تحديد القيمة ال -4

name field من الناحية االفتراضية سوف يقوم راس المجموعة بعرض قيمـة حقـل تقـسيم المجموعات واذا رغبنا فى عرض قيمة مختلفة نختار حقل بيانات بديل او نكون صيغة

okننقر -5

PDF created with pdfFactory trial version www.pdffactory.com

Page 3: Learn Crystal Reports2

Learn Crystal Reports [email protected]

3

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

وعند تكوين المجموعات الهرمية تقوم بفرز المعلومات على اساس العالقة بين الحقول على سبيل المثـال رقم الموظـف عندما نريد اظهار هيكل هرمى الحد االقسام يمكن تقسيم البيانات الى مجموعات على اساس

.وتحديد الشكل الهرمى باستخدام حقل بيانات المستوى الذى يتبعه الموظف

:لتقسيم البيانات الى مجموعات هرمية

group ثم ننقر insertننقر بزر الماوس االيمن على مصمم التقرير نشير الى -1ى سبيل المثـال نختار الحقل الذى يقوم عليه التنظيم الهرمى علinsert groupفى مربع حوار -2

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

in ascending orderنختار -3م فى التقرير قيمة الحقل المستخدم فى تقـسي group headerتلقائيا تعرض مقدمة المجموعة -4

customize groupالمجموعات وعندما نريد اظهار قيمة مختلفة نضع عالمة فى مربع االختيار name

يترتب على ذلك اضافة المجموعة الى التقريرokننقر -5 hierarchical group ننقر reportننقر بزر الماوس االيمن على مصمم التقرير نشير الى -6

options يترتب على ذلك عرض مربع حوار فى قائمة المجموعات المتاحة نختار المجموعة التى نريد تنظيمها هرميا فاذا كان التقرير يحتوى -7

على مجموعة واحدة فان هذه المجموعة يتم اختيارها تلقائيا فى قائمة المجموعات المتاحة sort data hierarchicallyنختار مربع االختيار -8 علـى سـبيل المثـال instance idذى يتبعه حقل نختار الحقل الparent id fieldفى قائمة -9

بالنسبة لتقرير هرمى خاص بشركة يمكننا اختيار حقل المدير الذى يرفع الموظف التقارير اليـه من نفس نوع البياناتparent id وحقل instance idويجب ان يكون كل من حقل

جموعة ندخل كمية مسافة الزحزه الى الداخل لكل مgroup indentى حقل ف -10 okننقر -11

PDF created with pdfFactory trial version www.pdffactory.com

Page 4: Learn Crystal Reports2

Learn Crystal Reports [email protected]

4

تلخيص بيانات المجموعات

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

يمها الى مجموعات ثمتلخيص القيم فى كل مجموعة ويتم القيام بذلك اتوماتيكيـا يقوم بفرز البيانات ،تقس :ويحتوى كريستال ريبورت على عدد من خيارات التلخيص

الحصول على اجمالى القيم فى كل مجموعة • الحصول على عدد جميع القيم او القيم المتميزه • معرفة اقصى قيمة اقل قيمة متوسط القيم •

:مجموعاتلتلخيص بيانات ال

summary ثم ننقرinsertننقر بزر الماوس االيمن على مصمم التقارير نشير الى -1فى مربع الحوار نختار عمليى التلخيص المستهدفى من القائمـة المنـسدلة وتظهـر العمليـات -2

الحسابية فى هذه القائمة فقط عند اختيار حقل يحتوى على بيانات رقمية فى القائمـة المنـسدلة الثانية

فى القائمة المنسدلة الثانية نختار الحقل الذى يحتوى على القيمة التى نريد تلخيصها -3 فى القائمة المنسدلة الثالثة نختار الحقل الذى نريد الفرز والتجميع على اساسه -4 okننقر -5

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

البيانات الى مجموعات على اساس الدولة

PDF created with pdfFactory trial version www.pdffactory.com

Page 5: Learn Crystal Reports2

Learn Crystal Reports [email protected]

5

ترتيب المجموعات على اساس ملخصات القيم

يمكن ترتيب المجموعات على اساس تصاعدى او تنازلى باستخدام قيم الملخصات على سبيل المثـال فـى

:لمجموعاتتقرير االوامر اذا تم تكوين اجماليات فرعية لمبالغ االوامر على اساس المنطقة يمكن ترتيب ا )ترتيب تصاعدى(من ادنى قيمة الى قيمة االمر • )ترتيب تنازلى(من اعلى قيمة الى ادنى قيمة •

:لترتيب المجموعات على اساس قيمة الملخص

Top N/Sort Group ثم ننقر reportننقر بزر الماوس االيمن على مصمم التقارير نشير الى -1

Expert. التقرير لكى يصبح خبير ويجب ان يكون لدينا حقل تلخيص فىtop n متاحـا يظهـر فى التقرير محتويا على ملصق لكل واحدة من المجموعات المختصرةtop n expertمربع حوار

ننقر الملصق الخاص بالمجموعة التى نريد فرزها -2 من القائمة المنسدلة على اليسارallنختار -3 مة المنسدلة على اليميننختار الملخص الذى نريد بناء اختيارنا عليه من القائ -4 descending او ascendingنحدد اتجاه الفرز بالنقر على -5 5 الى 2الختيار فرز مجموعة ثانية نكرر الخطوات -6

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

اخفاء التفصيالت فى تقارير الملخصات

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

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

:الخفاء التفصيالت فى تقرير ملخص

format section فى التقرير ثم نختار detailsننقر بزر الماوس االيمن على قسم -1 Hide(Drill-Down OK)نختار مربع االختيار -2 okننقر -3

اختيار مجموعة القمة او مجموعة القاع

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

N/Sort Groupبورت اداة لتنفيذ ذلك بسهولة وسرعة هذه االداة هى االستخدام لذا يوجد فى كريستال ريExpert

PDF created with pdfFactory trial version www.pdffactory.com

Page 6: Learn Crystal Reports2

Learn Crystal Reports [email protected]

6

:الختيار مجموعات القمة او القاع

Top N/Sort Groupثم ننقر reportننقر بزر الماوس االيمن على مصمم التقارير نشير الى -1Expertر ويجب ان يحتوى التقرير على قيمة ملخص ختى يمكن تنفيذ هذا االختيا

من القائمة المنسدلة Bottom N او Top Nننقر على -2 نختار الملخص الذى نريد بناء اختيارنا عليه من القائمة المنسدلة على اليمين -3 ندخل عدد المجموعات التى نريد عرضها على سبيل المثالWhere N isفى مربع -4

ونجعل عدد فى مربع حوار الخبير Top Nلتكوين تقرير عن اسرع ثالث خطوط انتاج مبيعا نختار * N تساوى ثالثة N فى مربع حوار الخبيـر ونجعـل Bottom N لتكوين تقرير عن الخمس مناطق االقل مبيعا نختار *

تساوى خمسة Include Others With The اذا كنا نريد تكوين مجموعة من جميع السجالت المتبقيـة نختـار -5

Nameوندخل اسم مناسب okقر نن-6

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

فرز البيانات

يمكننا تنظيم البيانات بترتيب معين للمساعدة فى العثور على وتقييم (Sorting)عن طريق فرز السجالت :، لفرز البيانات نطبق الخطوات التالية المعلومات

اليمن على مصمم التقرير للوصول الى القائمة المختصرةننقر بزر الماوس ا -1 record sort order يفتح مربع حوار sort records وننقر على reportنشير الى -2 نختار الحقل الذى نريد الفرز على اساسهavailable fieldsفى قائمة -3 sort fields يترتب على ذلك اضافة الحقل الى قائمة addننقر زر -4 descending او ascending بمربع الحوار ننقر sort directionقة فى منط -5 الضافته الى حقول الفرزaddاذا كان الفرز على اساس اكثر من حقل نختار الحقل الثانى ثم ننقر -6 okننقر -7

PDF created with pdfFactory trial version www.pdffactory.com

Page 7: Learn Crystal Reports2

Learn Crystal Reports [email protected]

7

تكوين االجماليات

الـى (Totaling)لمساعدة المستخدمين فى تحليل بيانات التقرير يمكن تكوين واضافة حقـول اجماليـات

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

:لتكوين اجمالى فرعى

subtotal ثم ننقر insertارير نشير الى ننقر بزر الماوس االيمن على مصمم التق -1 فى مربع الحوار ننقر القائمة المنسدلة ونختار حقل حساب االجمالى -2 فى القائمة المنسدلة الثانية نختار الحقل الذى نريد فرز وتجميع السجالت على اساسه -3 اذا ظهرت قائمة منسدلة ثالثة نحدد اتجاه الفرز -4 okننقر -5

PDF created with pdfFactory trial version www.pdffactory.com

Page 8: Learn Crystal Reports2

Learn Crystal Reports [email protected]

8

لى التقريراضافة نسبة مئوية ا

على سبيل المثال يمكن عـرض . يمكن حساب النسب المئوية الحدى المجموعات بالنسبة لمجموعة اوسع المبيعات فى كل مدينة فى صورة نسبة مئوية من اجمالى المبيعات بالنسبة للدولة ويمكن عـرض نـسبة

مساهمة كل دولة فى اجمالى المبيعات العام

:لحساب نسبة مئوية

الماوس االيمن على مصمم التقرير للوصول الى القائمة المختصرةننقر بزر -1 summaryثم ننقر insertنشير الى -2 فى القائمة المنسدلة االولى ويجب مالحظـة ان sum نختار insert summaryفى مربع حوار -3

ـ sumدالة ة ال تظهر اال اذا كان الحقل المعروض فى القائمة المنسدلة الثانية يحتوى علـى قيم رقمية

فى القائمة الثانية نختار الحقل الى نريد حساب االجمالى له -4 فى القائمة الثالثة نختار الحقل الذى نستخدمه فى فرز وتجميع السجالت -5 show as percentage ofنختار مربع االختيار -6 نختار المجموعة التى نريد اتخاذها اساسا لحـساب show as a percentage ofفى قائمة -7

نسبةال okننقر -8

تكوين االجماليات المتحركة

حقول االجمالى المتحرك مثل حقول الملخصات تقدم تحكم اكثر فى كيفية حساب االجمالى وتناسب حقـول :االجماليات المتحركة الوظائف التالية

.بيان قيم اجمالى اثناء حسابه مع تتابع السجالت • حساب اجمالى لقيمة مستقل عن مجموعات التقرير • حساب اجمالى قيمة فى ظل شروط معينة • حساب اجمالى قيمة بعد تطبيق صيغة اختيار مجموعة •

Running Totalوتتم العمليات الحسابية الخاصة باالجمالى المتحرك على اساس الضوابط المختارة فى Expert هـر علـى من ناحية اخرى يؤثر مكان وضع حقل االجمالى المتحرك فى القيمة الفعلية التى تظ

التقرير على سبيل المثال عند وضع اجمالى متحرك يقوم بتقييم كل سجل ويستمر بدون اعادة الحساب من وضع نفس . فان قيمة السجل االول فقط سوف تظهر(Report Header)البداية،فى قسم مقدمة التقرير

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

PDF created with pdfFactory trial version www.pdffactory.com

Page 9: Learn Crystal Reports2

Learn Crystal Reports [email protected]

9

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

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

يحتوى على السجالت السابقة والسجل االول مقدمة الصفحة من الصفحة

يحتوى على السجالت السابقة والسجل االول مقدمة مجموعة من المجموعة

يكون اجمالى متحرك لكل سجل التفصيالت

يكون اجمالى عام لكل مجموعة ذيل المجموعة

ول يحتوى على السجالت السابقة والسجل اال ذيل الصفحة من الصفحة التالية

يكون اجمالى عام يشمل جميع سجالت التقرير ذيل التقرير

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

ى المتحـرك جميـع الـسجالت حتـى الـسجل ويشمل االجمال . سواء فى التقرير،المجموعة، او غير ذلك Running Totalوابسط االجماليات المتحركة هو االجمالى المتحرك الحد القـوائم ويـستخدم .الجارى

Expert فى اختيار حقل التلخيص عملية التلخيص التى نريد تنفيذها،تحديد شروط التقييم، والشرط الـذى يتم على اساسه اعادة التقييم من البداية

PDF created with pdfFactory trial version www.pdffactory.com

Page 10: Learn Crystal Reports2

Learn Crystal Reports [email protected]

10

:لتكوين اجمالى متحرك فى قائمة ثـم ننقـر Running Total Field ننقر بزر الماوس االيمن على field explorerفى مربع -1

New يترتب على ذلك عرض مربع حوار Creat Running Total Field Running Total Nameفى مربع الحوار ندخل اسم لكائن االجمالى المتحرك فى حقل -2 نختار الحقل الذى نريد تجميعهAvailable Tables and fieldsفى منطقة -3 Field To Summarizeننقر زر السهم االول الضافة الحقل الى مربع -4 نختار وقت تنفيذ االجمالى المتحرك بالنسبة لالجمالى المتحرك فـى قائمـة Evaluate فى قسم -5

On change of fieldننقر ننقر السهم الثانى " on change of"نختار حقل Available Tables and Fields فى منطقة -6

On change fieldالضافة الحقل الى مربع يترتب على ذلك الحصول على اجمالى متحرك ال يعاد تـشغليه مـن never ننقر resetفى قسم -7

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

يترتب على ذلك ظهور حقل االجمالى المتحرك فى مربـع . لحفظ حقل االجمالى المتحرك okننقر -8filed explorer تحت running total fields

بالتقريرDetailsنسحب حقل االجمالى المتحرك الى قسم -9

تكوين اجماليات متحركة لمجموعةمجموعة وينتهى بالسجل االخير ثم يبدأ مرة اخـرى يبدأ االجمالى المتحرك لمجموعة بالسجل االول فى ال

للمجموعة التالية ثم التالية حتى نهاية المجموعات ويجب تقسيم البيانات الى مجموعات قبل تكوين اجمالى متحركة على اساس المجموعة

:لتكوين اجمالى متحرك على اساس المجموعة ثـم ننقـر Running Total Field ننقر بزر الماوس االيمن على field explorerفى مربع -1

New يترتب على ذلك عرض مربع حوار Creat Running Total Field Running Total Name فى مربع الحوار ندخل اسم لكائن االجمالى المتحرك فى حقل -2

PDF created with pdfFactory trial version www.pdffactory.com

Page 11: Learn Crystal Reports2

Learn Crystal Reports [email protected]

11

نختار الحقل الذى نريد تجميعهAvailable Tables and fields فى منطقة -3 Field To Summarizeحقل الى مربع ننقر زر السهم االول الضافة ال -4 For each record ننقر Evaluate فى قسم -5 ونقبل االسم االفتراضى للمجموعةOn chage of group ننقر Resetفى قسم -6يترتب على ذلك ظهور حقل االجمالى المتحرك فى مربع . لحفظ حقل االجمالى المتحرك ok ننقر -7

filed explorer تحت running total fields بالتقرير او نـسحب الحقـل الـى قـسم Detailsيمكن سحب حقل االجمالى المتحرك الى قسم -8

Group Footer اذا كنا نريد مشاهدة اجمالى عام لكل مجموعة ويتم تمييز االجمالى المتحـرك قبله# على التقرير بوضع رمز

تكوين اجماليات متحركة شرطية

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

ثـم ننقـر Running Total Field ننقر بزر الماوس االيمن على field explorerفى مربع -1New يترتب على ذلك عرض مربع حوار Creat Running Total Field

Running Total Nameلحوار ندخل اسم لكائن االجمالى المتحرك فى حقل فى مربع ا -2 نختار الحقل الذى نريد تجميعهAvailable Tables and fields فى منطقة -3 Field To Summarizeننقر زر السهم االول الضافة الحقل الى مربع -4 sum ننقر Type of summaryفى قائمة -5 (X+2) ثم ننقر زر Use formula ننقر Evaluateفى قسم -6 formula ندخل الصيغة فى مربع Running Total Condition Formulaفى مربع حوار -7

على سبيل المثال، لتكوين اجمالى متحرك للمبيعات فى المملكة العربية السعودية نستخدم الـصيغ .التالية

:Crystalعند استخدام لغة

{Customer.Country}="ksa"

غة البيسكوعند استخدام لFormula={Customer.Country}="ksa"

save and closeننقر -8 never ننقر resetفى قسم -9

لحفظ حقل االجمالى المتحركokننقر -10نكون اجمالى متحرك اخر باستخدام الخطوات السابقة الفرق الوحيد سوف يكون القيمة -11

التى فى الصيغة بالتقرير او الى قسم Detailsيمكن سحب حقول االجماليات المتحركة الى قسم -12

Report Footerعندما نريد مشاهدة اجمالى عام

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

صـيغ :يغ للحصول على البيانات المطلوبة هناك اربعة مجموعات مختلفة من الـص (Formulas)الصيغ ــر ــشروط (report)التقريـ ــسيق المـ ــيغ التنـ ــيغ (Conditional Formula)، صـ ،صـ

والغالبية من الصيغ الموجودة فى التقرير هى .(Search Formulas)،وصيغ البحث(Selection)االختيار صيغ التقرير وصيغ التنسيق المشروط

صيغ التقرير

كوينها للعمل باستقاللية فى التقرير على سبيل هى الصيغ التى نقوم بت(Report Formula)صيغ التقرير المثال، الصيغة التى تقوم بحساب عدد االيام بين تاريخ االمر وتاريخ الشحن هى صيغة تقرير

PDF created with pdfFactory trial version www.pdffactory.com

Page 12: Learn Crystal Reports2

Learn Crystal Reports [email protected]

12

صيغ التنسيق المشروط

تقوم صيغ التنسيق المشروط بتغيير خريطة وتصميم التقرير،شكل النص،حقول قاعدة البيانات، الكائنات، او Formula) وعند الحاجة الى تكوين صيغ التنسيق نقوم بالوصول الى محرر الصيغ ن التقريرقسم كامل م

Editor) من خالل محرر التنسيق (Format Editor)

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

يترتب على ذلك قيام كريستال ريبورت بتوليـد select expertاالختيار ياستخدام لكن بدال من ذلك نحدد Crystalولكن يجب استخدام كود . صيغ اختيار السجالت والمجموعات ويمكن تكوين هذه الصيغ يدويا

فاننا سوف نحتاج الى معرفة كمية صغيرة من كود كريـستال لتعـدديل Basicواذا كنا على معرفة بكود صيغ االختيار او البحثمعظم

صيغ البحثتساعدنا صيغ البحث فى تحديد موع البيانات فى التقرير ومثل صيغ االختيار نحدد صيغة البحث باسـتخدام

seach expert

ادراج الصيغ ويمكـن تقريبـا كتابـة اى صـيغة basic او كود crystalعند تكوين الصيغ هناك خيار استخدام كود

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

:الدراج صيغة فى التقرير

new ثم ننقر formula fields ننقر بزر الماوس االيمن على field explorerفى مربع -1 ندخل اسم للصيغةformula name فى مربع حوار -2 okننقر -3 basic او crystal syntax نختار اما formula editorفى مربع حوار -4ويحتـوى ) component tree(ندخل الصيغة بطباعتها وباختيار المكونات من اشجار المكونات -5

(function trees)للدوال واخرى (report fields)محرر الصيغة على شجرة لحقول التقرير والضاقة اى مكون الى الصيغة نقوم بالنقر المزدوج عليه(operators tree)وشجرة العوامل

للتعرف على اى خطأ فى الصيغةcheckننقر زر -6 يترتب على ذلك ظهور save and closeوعندما نتحقق من عدم وجود اخطاء فى الصيغة ننقر -7

formula fields تحت field explorerالصيغة فى مربع نسحب الصيغة ونضعها فى المكان المرغوب به علـى التقريـر ويجـب مالحظـة ان الـصيغة -8

قبلها@ يتم تميييز اسمها بوضع الرمز الموضوعة على التقرير

PDF created with pdfFactory trial version www.pdffactory.com

Page 13: Learn Crystal Reports2

Learn Crystal Reports [email protected]

13

اقسام محرر الصيغةتتكون . مة ادواتيحتوى محرر الصيغة على عدد من االجزاء تشمل مربعات سرد مربعات سرد مركبة وقائ

:مربعات السرد من اربعة مربعات موضحة باالجدول التالى

النافذة

المحتويات

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

تكوينهاfunction سابقة التكوين تعيد قـيم الدوال هى اجراءات

ــل ــسابية مثـ ــات الحـ ــذ العمليـ وتنفـ المتوسط،االجمالى العدد وغيرها

operators تقوم العوامل بوصف عملية او تصرف يحدث بين اثنين او اكثر من القيم

Formula text windows هى المنطقة التى نستخدمها فى تكوين الصيغة

تيار ما بين كود كريستال او كود بيسك وعليـه يتغيـر الـدوال لالخ (combobox)ويوجد قائمة مركبة

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

SQLتعبيرات

STRUCTURE QUERY) الصيغ ولكنها تكتب باستخدام لغة االستعالم المهيكلةSQL تماثل تعبيرات LANGUAGE) . ويمكن استخدام تعبيرSQL الستعالم قاعدة بيانات عن فئة معينة مـن البيانـات .

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

وال . على العكس من الصيغ المعتادة التى يجرى تنفيذها فى الغالب على الكمبيوتر المحلى , قاعدة البيانات بكثافة الن كريستال ريبورت تحتوى على لغة الصيغ الخاصة بها والتى هـى SQLيجب استخدام عبارات

ضرورى استخدام حقـول ولكن فى بعض الحاالت يكون من ال المعتادة SQLفى نفس الوقت اكثر قوة من لزيادة سرعة عمليات معالجة التقاريرSQLتعبيرات

SQLتكوين حقل تعبير ثـم SQL Expression Fieldsننقر بزر ااالماوس االيمن علـى field explorerفى مربع -1

New ويجب مالحظة ان بند sql expression field ال يظهر اال فى حالة استخددام مصدر sql تقريرفى تصميم ال

يترتب على ذلك ظهور مربع حوارok ثم ننقر nameندخل اسم فى مربع -2 SQL Expression Editor نطبع التعبير الذى نريد ادخاله فى -3 okننقر -4

PDF created with pdfFactory trial version www.pdffactory.com

Page 14: Learn Crystal Reports2

Learn Crystal Reports [email protected]

14

ترقية عرض التقرير

يشرح هذا القسم الوسـائل التـى يمكـن اسـتخدامها لجـذب االنتبـاه الـى البيانـات تغييـر عـرض

لقيم االخرى، اخفاء االقسام الغير مرغوب فيها والقيام بمها تنسيق اخرى تضفى علـى التواريخ،االرقام،وا التقرير مظهر تقارير المحترفين

تنسيق البيانات

, الى التغييرات فى خريطة تصميم التقرير وبالمثل شكل ظهور النصوص (Formatting) يشير التنسيق :تخدام التنسيق للقيام بالكثير من االعمال التى من بينهاويمكن اس. او اقسام التقرير بالكامل, الكائنات

توجيه االنتباه الى بيانات معينة • اضفاء مظهر احترافى على التقرير • تغيير عرض التواريخ ، االرقام، القيم المنطقية ،قيم العملة، وسالسل النصوص •

ولتنسيق كائن Format ثم نختار وللقيام بتنسيق كائن او قسم فى التقرير ننقر بزر الماوس االيمن عليه

ويمكن ايضا استخدام نافذة الخصائص chart expert ثم نختار رسم بيانى ننقر بزر الماوس االيمن عيه فى بيئة التطوير لتنسيق الكائنات واالقسام

تنسيق االرقام والتواريخ

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

المدينة والدائنة :لتنسيق االرقام والتواريخ

Formatننقر بزر الماوس االيمن على حقل العملة ،الرقم،او التاريخ ثم نختار -1 لتحديد تنسيق اخرcustomizeخيارات التنسيق او ننقر نختار واحدا من -2

اضافة حدود، الوان،او ضالل الى الحقوليسمح لنا كريستال ريبورت باضافة حدود،لون،او ضالل الى حقول التقرير لكى يتم التركيز على البيانـات

المهمة وتكوين تقارير محترفة :لعمل ذلك

Formatنختار ننقر بزر الماوس االيمن على الكائن و -1 ونختار نمط الخط، اللون، ولون الخلفية للحقل Borderننقر ملصق -23- Ok

التنسيق المشروط

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

دادطباعة ارصدة العمالء باللون االحمر عند تجاوز تاريخ استحقاق الس • طباعة التاريخ بصيغة تناسب المستخدم للتقرير • اظهار لون الخلفية كل ثالثة سطور •

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

format editorجميع قيم الضبط التى تم اعدادها فى مربع حوار

PDF created with pdfFactory trial version www.pdffactory.com

Page 15: Learn Crystal Reports2

Learn Crystal Reports [email protected]

15

:ئنالضاقة تنسيق شرطى الى كا formatننقر يزر الماوس االيمن على الكائن نختار -1 ننقر زر الصيغة المناسب الموجود فى الجانب االيمن بمربع الحوار -2 ندخل الصيغةformat editorفى مربع -3 اذا كان يوجد اى اخطاء يتم التنبيه عليهاsaveننقر -4 okننقر -5

ادراج الرسوم البيانيةوضع رسوم بيانية معقدة وملونة على التقرير وال تعتبر الرسوم البيانيـة يتيح كريستال ريبورت امكانية

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

حقول الملخصات واالجماليات الفرعية • حقول التفصيالت، الصيغ، واالجماليات المتحركة • الملخصات المتقاطعة •

:الدراج رسم بيانى يترتب على ذلـك chart ثم ننقر insertننقر بزر الماوس االيمن على مصمم التقرير نشير الى -1

chart expertعرض مربع حوار لرسم نختار نوع اtypeفى ملصق -2 عندما نريد استخدام الضوابط االفتراضيةAutomatically set chart optionنختار -3 Dataننقر ملصق -4 او Header نحدد كيفية ظهور الرسم البيانى على التقريـر ثـم ننقـر Placementفى منطقة -5

Footerلتحديد مكان وضع الرسم Chart Layout نختار Layoutفى منطقة -6

PDF created with pdfFactory trial version www.pdffactory.com

Page 16: Learn Crystal Reports2

Learn Crystal Reports [email protected]

16

حقول قاعدة البيانات المستخدمة شروطا نحددDataفى منطقة -7ــصقات -8 ــل Options وAxesاذا ظهــرت مل ــديل بعــض خــصائص الرســم مث ــا تع يمكنن

التصاعد،المفتاح،ونقاط البيانات ونقبل معلومات العنوان االفتراضية او نضيف عناوين جديدة الى الرسمTextننقر ملصق -9

okننقر -10

ادراج التقارير الفرعية هو تقرير داخل تقرير وعن طريق استخدام التقارير الفرعية يمكن ادمـاج (Subreport)ىالتقرير الفرع

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

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

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

:الدراج تقرير فرعى

subreport ثم ننقر insertننقر بزر الماوس االيمن على مصمم التقرير نشير الى -1 نسحب كائن التقرير الى التقرير -2 نختار تقرير اخر فى المشروع او نكون تقرير جديد خاص بالتقرير الفرعى -3 لكى يمكننا استخراج البيانات الخاصة بالتقرير الفرعى عنـد On-demand subreportنختار -4

الحاجة واال فان كل بيانات التقارير الفرعية سوف تظهر مع التقرير ويجب مالحظة ان اسـتخدام التقارير الفرعية عند الطلب سوف يؤدى الى زيادة اداء التقارير التى تحتوى على تقارير فرعية

يد ربط التقرير الفرعى مع البيانات فى التقرير االساسى يترتب علـى اذا كنا نرlinkننقر ملصق -5 Insert بمربـع حـوار Container Report Fields To Linkذلـك عـرض صـفحة

Subreport

PDF created with pdfFactory trial version www.pdffactory.com

Page 17: Learn Crystal Reports2

Learn Crystal Reports [email protected]

17

Avilable fieldsنختار الحقل الذى نريد استخدامه حقل ارتباط فى التقرير االساسى من قائمة -6 اختيار حقل ارتباط لضبط االرتبـاط لكـل حقـل ط عند الذى يظهر فقField Linkنستخدم قسم -7

:ارتباط subreport parameter field to useنختار الحقل الذى نريد ربطه مع التقرير االساسى من • ونختار حقل من القائمة المنسدلة المجاورة select data based on fieldنختار مربع االختيار •

واذا لم يتم تحديد اى شئ هنا، فان التقريـر . على حقل محدد لترتيب بيانات التقرير الفرعى بناء الفرعى سوف يستخدم تنظيم التقرير االساسى

okننقر -8

عند تشغيل التقرير سوف يقوم البرنامج بتنسيق بيانات التقرير االساسى مع بيانات التقرير الفرعى

التقارير الفرعية غير المرتبطه هى تقارير مستقلة ال يتم تنسيق بياناتها باى طريقة (Unlike Reports)التقارير الفرعية غير المرتبطة

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

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

ان يستخدم جدول واحد او عدة جداول

التقارير الفرعية المرتبطة تمثل الجانب االخر حيث يتم تنسيق بياناتها مع بيانـات (Linked Reports)قارير الفرعية المرتبطة الت

يقوم البرنامج بموافقة السجالت فى التقريـر الفرعـى مـع الـسجالت فـى التقريـر . التقرير االساسى وتقريـر فرعـى على سبيل المثال اذا قمنا بتكوين تقرير اساسى يحتوى على معلومات العمالء .االساسى

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

ادراج كائنات المعلومات المتقاطعة

ر يجـرى هو عبارة عن شبكة تعيد معلومات على اساس معيـا (Cross-Tab)كائن المعلومات المتقاطعة هذا التنسيق يمكن المستخدمين من مقارنـة البيانـات . ويتم عرض البيانات فى اعمدة وصفوف . تحديده

الصفوف، االعمدة، وحقول : ويتكون كائن المعلومات المتقاطعة من ثالث عناصر . والتعرف على االتجاهات .الملخصات

PDF created with pdfFactory trial version www.pdffactory.com

Page 18: Learn Crystal Reports2

Learn Crystal Reports [email protected]

18

:الدراج كائن معلومات متقاطعة

Cross-Tab ثم ننقر insertلى مصمم التقرير نشير الى ننقر بزر الماوس االيمن ع -1 على التقريرCross-Tabنضع كائن -2 نضيف حقول الى مناطق الصفوف، االعمـدة، وحقـول Format Cross-Tabفى مربع حوار -3

الملخصات لتكوين تـصميم Customize Style الختيار التصميم المناسب او ملصق Styleننقر ملصق -4

خاص بنا

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

Hideخاصية

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

للتنقيب عن محتويـات Drill-Downقسم فان التفصيالت بهذا القسم تصبح مرئية عند استخدام مؤشر القسم وهذه الخاصية مطلقة وال يمكن ربط استخدامها بتحقق احد الشروط عن طريق الصيغ

:الستخدام هذه الخاصية ننقر بزر الماوس االيمن على التقرير -1 Format Sectionصرة ،نختار من القئمة المخت -2 Hide(Drill-Down-Ok)مربع الحوار نختار فى -3

Suppressخاصية

ال تمكننا هذه الخاصية Hideتقوم هذه الخاصية ايضا باخفاء قسم عند تشغيل التقرير وعلى خالف خاصية وط باسـتخدام ويمكن تطبيق هذه الخاصية بصفة مطلقة او عند توفر احد الشر .من التنقيب عن التفصيالت

:الستخدام هذه الخاصية. الصيغ

PDF created with pdfFactory trial version www.pdffactory.com

Page 19: Learn Crystal Reports2

Learn Crystal Reports [email protected]

19

ننقر بزر الماوس االيمن على التقرير -1 Format Sectionمن القائمة المختصرة نختار -2 Suppress(No Drill-Down)ننقر بزر الماوس االيمن على قسم التقرير ثم نختار خاصية -3

Suppress Blank Sectionخاصية

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

ننقر بزر الماوس االيمن على التقرير -1 Format Sectionمن القئمة المختصرة ،نختار -2 Suppress Blank Sectionفى مربع الحوار نختار -3

التحكم فى التقارير وقت التشغيل

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

للقيام بمختلف (Object)ائناتالمستخدم من تنفيذ هذه المهام يوفر كريستال ريبورت امكانية استخدام الك مهام تكوين التقارير كما يوفر لغة صياغة قوية يمكن استخدامها لتغيير طريقة عرض التقرير والتحكم فى

يناقش هذا القسم عملية التفاعل مع تحداث المستخدمين والوسائل المتـوفرة . البيانات التى يحتوى عليها .للقيام بذلك

استخدام الكود

المستخدمة فى تكـوين الكائنـات الختلفـة (Classes)ستال ريبورت على العديد من الفئات يحتوى كري

كما يحتوى على لغة صياغة قوية تستخدم فى تكوين الـصيغ .المستخدمة فى تنفيذ الوظائف التى يقوم بها التـى تحتـوى عليهـا (Methods) وطرقهـا (Properties)وعن طريق خصائص الكائنات . المختلفة

. التى تستجيب لها يمكن الوصول الى التقارير وتغيير خصائصها وقت التشغيل(Events)حداثواال

استخدام الكائنات

هناك الكثير من الكائنات التى يحتوى عليها كريستال ريبورت غير ان اهم هذه الكائنات بالنسبة للمبـرمج CrystalReportViewer وكائن ReportDocumentهى كائن

ReportDocumentكائن

ويحتوى على الكثيرمن الخصائص والوسـائل التـى . يقدم هذا الكائن ادوات التحكم االساسية فى التقارير

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

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

ويتم اضافة هذا المرجع تلقائيا عند اضـافة CrystalDecisions.CrystalReports.Engineاالسماء تقرير الى التطبيق قم باستيراده

خصائصه. على الكثير من الخصائص التى تسمح لنا بالتحكم فى شكل وسلوك التقاريرReportDocumentيحتوى : اهم اهم الكائنات والمجموعات التى يحتوى عليهافيما يلى

PDF created with pdfFactory trial version www.pdffactory.com

Page 20: Learn Crystal Reports2

Learn Crystal Reports [email protected]

20

الى معلومات قاعدة البيانات التى يحتوى عليها التقرير ويحتوى تتيح الوصول Databaseكائن • تحتوى هذه المجموعة علـى كـل كائنـات الجـداول Tables على مجموعة Databaseكائن

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

يتيح هذا الكائن الوصول الى الحقول حقول المعامالت حقول الفرز حقول DataDefinitionكائن • ويمكـن SQLاسماء المجموعات حقول الملخصات حقول االجماليات المتحركة وحقول تعبيرات

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

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

خاصية اسم الطابعة حجم الورق وهوامش الورق.طباعة التقرير من الخصائص التى يمكن ضبطها ،كائنـات التقرير،واالقـسام يسمح هذا الكائن باستخراج كل المناطق ReportDefinitionكائن •

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

بالتقرير

يقع هذا ReportDocument.InnitReport على حدث وحيد هو ReportDocumentويحتوى كائن .الحدث عند نجاح تحميل التقرير

CrystalReportViewerكائن

لخصائص التى تمكننا من التحكم فى شكل وسلوك التقرير واهم الكائنـات التـى يحتوى هذا الكائن على ا

:يحتوى عليها هذا الكائن تشمل الكائنات االتية وهـذا الكـائن TableLogOnInfo يوفر الوصول الى مجموعة TableLogOnInfosكائن •

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

وتسمح لنـا هـذه ParameterField يوفر الوصول الى مجموعة ParameterFieldsكائن •المجموعة بالحصول على معلومات المعامالت فى التقرير وضبطها على سبيل المثال يمكن ضبط

وضبطها مثل القيم الحالية، القيم االفتراضية وقيم حقول الممرات خصائص للحصول على خيارات ونص حث المستخدم

تستخدم هذه الخاصية لضبط مصدر التقرير ويمكـن ان يكـون هـذا ReportSourceخاصية • او سلسلة نصية تحتوى على موقع الملف الخاص بالتقرير ReportDocumentكائن المصدر

او كائن تقرير

:الحداث طبقا للتفصيل التالىويحتوى هذا الكائن على عدد من ا يقع هذا الحدث عند التنقيب عن المعلومـات بـالتقرير CrystalReportViewer.Drillحدث •

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

Private Sub CrViewer_Drill(ByVal source As Object, ByVal e As_ CrystalDecisions.Windows.Forms.DrillEventArgs) Handles CrViewer.Drill Label1.Text = e.CurrentGroupName End Sub

يقع هذا الحث عند التنقيـب فـى CrystalReportViewer.DrillDownSubreportحدث • ىتقرير فرعى الكود التالى يوضع ضبط نص اداة العنوان على اسم التقرير الفرع

PDF created with pdfFactory trial version www.pdffactory.com

Page 21: Learn Crystal Reports2

Learn Crystal Reports [email protected]

21

Private Sub CrViewer_DrillDownSubreport(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.DrillSubreportEventArgs) Handles CrViewer.DrillDownSubreport Label1.Text = e.CurrentSubreportName

End SuB يقع عند حدوث خطأ الكود التالى يقوم بعرض CrystalReportViewer.HandleExecptionحدث *

رسالة خطأ عند حدوثة

Private Sub CrViewer_HandleException(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.ExceptionEventArgs) Handles CrViewer.HandleException MessageBox.Show(e.Exception.ToString) End Sub

يقع هذا الحدث عندما يقوم المستخدم بالتجول فى CrysatlReportViewer.Navigateحدث •

التقرير الكود التالى يعرض رقم الصفحة على اداة العنوان

Private Sub CrViewer_Navigate(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.NavigateEventArgs) Handles CrViewer.Navigate Label1.Text = e.NewPageNumber End Sub

يقع هذا الحدث عند تجديد معلومات CrystalReportViewer.ReportRefreshحدث • التقرير

ويقع هذا الحدث عند البحث عن نص فى التقريرCrystalReportViewer.Searchحدث • يقع هذا الحدث عند تغيير معامل التكبيير CrystalReportViewer.ViewZoomحدث •

والتصغير

لغة الصياغة

ويمكن كتابة الصيغ (Formulas) فى تكوين الصيغ Basic او لغة Crstal Reportيمكن استخدام لغة crystalدمة فى المستخ Basicوتماثل لغة . المكتوبة بلغة كريستال باستخدام لغة بيسك او العكس

report لغة Visual Basic اال انها تحتوى على بعض االضافات الخاصة بالتقارير وبما اننا اكثر الفة لذا سيتم ايضاح لغة بيسك فقطVisual Basicمع لغة

استخدام كود بيسك

عمل عليه يمكن ان تعمل التقارير التى تستخدم كود بيسك فى تكوين الصيغ على اى جهاز كمبيوتر ي

كرستال ريبورت ويتميز استخدام كود بيسك بدال من استخدام كود كريستال فى اعداد صيغ كريستال ريبورت بانه ال يتطلب توزيع ملفات اضافية مع التطبيقات التى تستخدم التقارير وهذه بعض الميزات للغة

:بيسكلك دوال النصوص مثل دالة يشمل ذVisual Basicتستخدم تقريبا نفس الدوال المستخدمة فى •

Lenداله،Midكما تشمل الدوال الحسابية والمالية ودوال التاريخ . وغيرها وصيغ (&)تدعم معظم العوامل المستخدمة فى فيجوال بيسك مثل عامل ربط السالسل النصية •

التاريخ Select،Do Until،Doتستخدم معظم العبارات وهياكل التحكم المستخدمة فى فيجوال بيسك مثل •

While،For\Next تستخدم نفس كود المالحظات ووصل السطور للكود فى فيجوال بيزك •

PDF created with pdfFactory trial version www.pdffactory.com

Page 22: Learn Crystal Reports2

Learn Crystal Reports [email protected]

22

نتيجة الصيغة

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

: على سبيل المثال الكود التالىFormulaضبط قيمة متغير خاص يسمى Formula= 10

:ويمكن ان تكون القيمة العائدة من الصيغة من احد انواع سبعةNumber,Currency,String,Boolean,Date,Time,Date and Time ويجب تخصيص قيمة

/صحيحة من امثلة الصيغ والقيمة العائدة منها ما يلى لكى تكون الصيغة Formulaللمتغير Global x As String,y As Number,z As DateTime

X="solo.net" Y=10.5

Z=#aug 6,1982# Formula=10

عدة مرات داخل الصيغة الواحدة ولكن ال يجب تغيير نوع بيانات القيمة Formulaويمكن ضبط متغير

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

الحقول

التى نستخدمها عند تكوين التقرير يمكن استخدامها فى الصيغ التى نقوم (Fields)هناك الكثير من الحقول

لبيانات،حقول الممرات،حقول االجماليات ببناءها على سبيل المثال يمكن استخدام حقول قااعدة ا ،حقول الملخصات،وحقول المجموعات ويمكن استخدام حقول الصيغ SQLالمتحركة،وحقول تعبيرات

وتظهر حقول قاعدة البيانات مؤهلى باسم .{}وتظهر اسماء الحقول داخل الصيغة محاطة باقواس . االخرى :ى مقدمة الحقولوتوضع العالمات التالية ف. الجدول الذى تتبعه

فى حقول االجمالى # فى حقول الصيغ االخرى، عالمة @ فى حقول الممرات، عالمة ?عالمة وتظهر حقول الملخصات وحقول المجموعات مثل كود . SQLفى حقول تعبيرات % المتحرك،عالمة

:استدعاء الدوال كما يتضح من الكود التالىS um ({Orders.Order Amount},{Orders.Ship Via})

GroupName({Orders.Ship Via})

الصيغة التالية تقوم بحساب عدد االيام منذ تاريخ اعداد طلب الشراء الى تاريخ شحن البضاعةRem A formula that uses database field

Formula={Order.Ship Date} – {Order.Order Date}

:اعة المطلوبةوتقوم الصيغة التالية بحساب اجمالى قيمة البضFormula={Orders Detail.Unit Price} * _

{ Order Detial.Quantity}

من السعر االصلى% 80وتقوم الصيغة التالية بحساب سعر البيع على اساس انه Formula={Order Detail.Unit Price} * 0.80

العبارات

ويجب قصل كل عبارة عن (statements) يتكون الكود الذى تتكون منه الصيغ من سلسلة من العبارات

ومن المعتاد وضع كل عبارة فى سطر (:)العبارة السابقة بسطر جديد او باستخدام رمز الوقف االستدراكى :منفصل ويمكن استمرار العبارة الى السطر التالى باستخدام شرطة اسفل السطر فيما يلى امثل من العبارات

PDF created with pdfFactory trial version www.pdffactory.com

Page 23: Learn Crystal Reports2

Learn Crystal Reports [email protected]

23

Dim x As Number X=10+10+10

X=10+_ 10+10

Y="solo" :x=30 :formula=true

المتغيراتوتحتفظ . فانها تبحث عن قيمة المتغير وتستخدمها(Variable)عندما تستخدم الصيغة احد المتغيرت

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

:الكود التالى يقوم باستخراج رقم المنطقة من رقم الفاكس الخاص باحد العمالءDim areaCode As String

areaCode=Left({Customer.Fax},3)

نطاق القيمتوضح من كل انواع القيم البسيطة فيما عدا القيم المنطقية امثلة التالية (Range)يمكن تكوين نطاق

وما بينهما من ارقام5 الى 2 المثال االول يحتوى على نطاق يتكون من . تكوين واستخدام نطاق من القيم2 To 5

2 وال يشمل الرقم 5 الى 2النطاق التالى يتكون من 2_To 5

5النطاق التالى يتكون من كل االرقام التى اقل من او تساوى Is <= 5

واريخالنطاق التالى يتكون من عدة ت#jan 5 , 1999# to # dec 12,2000# Is>=#jan 1,2000#

المثال التالى يقوم بحساب درجات شهادة select و ifويستخد نطاق القيم فى الصيغ غالبا مع عبارات او اكبر 90 للنتيجة التى تساوى"A"الطالب بناء على درجات االمتحانات الخاصة به حيث يتم تخصيص

:90 من دون ان تشمل 90 الى 80للدرجات من "B"منها وتخصيص Select Case {Student.Test Scores}

Case Is >=90 Formula="A" Case 80To_90 Formula="B" Case 70 To_80 Formula="C"

.

.

.

. End Select

Inويختبر المثال التالى وجود قيمة معينة فى نطاق باستخدام عامل

Formula=5 In 2 To 10 Minimum او دالة Maximumللحصول على نهايات النطاق نستخدم دالة و

Formula=Maximum(2 To 10) المصفوفات

ويطلق على هذه القيم عناصر المصفوفة . هى قوائم تحتوى على قيم من نفس النوع) Arrays(المصفوفات

المصفوفة عن طريق بتكوينويمكن ان تكون قيم العناصر من انواع بسيطة او من نوع نطاق بيانات ونقوم

PDF created with pdfFactory trial version www.pdffactory.com

Page 24: Learn Crystal Reports2

Learn Crystal Reports [email protected]

24

وتكون المصفوفات اكثر فائدة عندما تحتوى على متغيرات بسبب توفر امكانية Arrayاستخدام الدالة .فيما يلى امثلة توضح استخدام المصفوفات فى الصيغ. تغيير قيم العناصر فى تلك المصفوفات

الكود التالى يوضح تكوين مصفوفة من ثالث قيم ثابتهArray(10,5,20)

vb.net كما هو المعتاد فى 0 وليس 1وهنا العنصر االول فى المصفوفه يكون مفهرسه الكود التالى يستخدم الستخراج المصفوفة . كما يمكن استخدام نطاق قيم الستخراج عناصر المصقوقة

(10,5,20) من المصفوفة (5,20)Array(10,5,20)(2 To 3)

هياكل التحكم فى تنفيذ الكود

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

ل بيسك تستخدم فى فيجواالتىبيسك فى كريستال ريبورت معظم هياكل التحكم

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

استخدام كائنات مولد التقارير او كائن مشاهدة تقارير الويندوز ويمكن تدعيم هذه االدخاالت فى تطبيق :كريستال ريبورت باستخدام الطرق التالية

كوين اجراءات معالجة االحداث الى تقع اثناء تعامل المستخدم مع مع اداة مشاهدة نماذج ت • (crystal report viewer)الويندوز

تكوين اجراءات معالجة االحداث التى تقع اثناء قيام المستخدم يالتعامل مع مع ادوات اخرى على • نموذج ويندوز

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

واظهار وحجب شجرة المجموعات ToolBarالتشغيل وتشمل عمليات التحكم اظهار وحجب شريط االدوات Group Tree ويتم ذلك عن طريق الخاصيتين DisplayToolBarو DisplayGeoupTree على

التوالىCrViewer.DisplayGroupTree = True CrViewer.DisplayToolbar = False

تعديل اطقم الحروف وااللوان

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

:بتغيير هذه الضوابط لتغيير الوان بيانات التقرير فى وقت التشغيل نكون تقرير ونضيف صيغة الى مقدمة التقرير -1 viewerنربط التقرير مع اداة -2 الى النموذج حيث يستخدم هذا الزر فى تغيير لون البياناتbuttonنضيف اداة -3 الى نكتب الكود التClickفى الحدث -4

Dim report As ReportDocument = New ReportDocument Dim section As Section Dim fieldObject As FieldObject Dim fieldFormat As FieldFormat report.Load("c:\myreport.rpt") section = report.ReportDefinition.Sections.Item("section3") If section.ReportObjects("filed1").Kind = CrystalDecisions.[Shared].ReportObjectKind.FieldObject Then fieldObject = section.ReportObjects("field1") fieldFormat = fieldObject.FieldFormat

PDF created with pdfFactory trial version www.pdffactory.com

Page 25: Learn Crystal Reports2

Learn Crystal Reports [email protected]

25

fieldObject.Color = Color.Red End If CrViewer.Refresh()

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

االختيار لتكوين المجموعات وفرز البيانات

فى وقت التشغيل(Parameter Fields)ممراتالتحكم فى حقول ال

يمكن تدعيم ادخاالت المستخدم باستخدام الممرات فى كريستال ريبورت وتستخدم الممرات الغراض متنوعة :من امثلة هذه االغراض

الممر على اساس حقل قاعدة بيانات ثم تمكين المستخدم من تحديد قيم هذا الحقل التى يتم بناء • البياناتعلى اساسها فرز

استخدام حقول الممررات لتمكين التنسيق المشروط على التقرير • ترتيب الفرز •

يوضح المثال التالى كيفية ضبط قيم حقل ممرر باستخدام الكود فى وقت التشغيل ويشرح كيفية ضبط

ق من البياناتممررين مختلفين الممرر االول يحتوى على قيم فردية متعددة والممر الثان يحتوى على نطا

Dim paramFields As New CrystalDecisions.Shared.ParameterFields Dim paramField As New CrystalDecisions.Shared.ParameterField Dim discreteVal As New CrystalDecisions.Shared.ParameterDiscreteValue Dim rangeVal As New CrystalDecisions.Shared.ParameterRangeValue paramField.ParameterFieldName = "Customer Name" discreteVal.Value = "AIC Childrens" paramField.CurrentValues.Add(discreteVal) discreteVal = New CrystalDecisions.Shared.ParameterDiscreteValue discreteVal.Value = "Aruba Sport" paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) paramField = New CrystalDecisions.Shared.ParameterField paramField.ParameterFieldName = "Customer ID" rangeVal.StartValue = 42 rangeVal.EndValue = 72 paramField.CurrentValues.Add(rangeVal) paramFields.Add(paramField) CrViewer.ParameterFieldInfo = paramFields CrViewer.ReportSource = "c:\my_report.rpt"

PDF created with pdfFactory trial version www.pdffactory.com

Page 26: Learn Crystal Reports2

Learn Crystal Reports [email protected]

26

ديل صيغ االختيار وقت التشغيلتعيمكن استخدام صيغ االختيار لفرز السجالت التى نريد ان يشتمل عليها التقرير ويمكن ايضا تحديد حقـول لالستخدام فى توزيع البيانات على مجموعات وفرز هذه البيانات المثال التالى يمكن المستخدم من تعـديل

او من خالل محرك التقريرviewerن يتم ذلك من خالل اداة ويمكن ا. صيغة االختيار فى وقت التشغيل

:لتعديل البيانات فى وقت التشغيل xtreme.mdbنكون تقريرا يستخدم جدول العمالء فى قاعدة البيانات العينة -1 نضيف صيعة اختيار تحتوى على الكود التالى -2

{Customer.Last Year's Sales} > 11000.00

النموذج الى viewerنضيف اداة -3 نربط التقرير بالداة -4 الى النموذجButton و Text Boxنضيف اداتى -5 يقوم المستخدم بادخال الحد االدنى للقيمة التى عرضها بالنسبة لمبيعات السنة السابقة فى مربع -6

النص ثم ينقر على الزر الدخال ذلك الى النظام للزرclickنكتب الكود فى الحدث -7

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

Dim SelectFormula As String SelectFormula="{Customer.Last Year's Sales}>" & TextBox1.Text CrViewer.SelectionFormula=SelectFormula

:او نمرر صيغة االختيار من خالل كائن التقرير كما يتضخ من الكود التالىDim SelectFormula As String SelectFormula="{Customer.Last Year's Sales}>" & TextBox1.Text Report.DataDefinition.RecordSelectionFormula=SelectFormula

تعديل حقول المجموعات فى وقت التشغيل

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

:التالية فــى تقـــسم Customer.City، Customer.Country،Customer.Regionحقــول •

.التفصيالت لتحديد االختيارات الخاصة بالمجموعةComboBoxويتخدم التطبيق اداة • Buttonر مجموعات فى التقرير عن طريق اضافة كود الى اداة يمكن تغيي •

:لتكوين مجموعات وقت التشغيل

قاعدة البيانات السابقة xtreme.mdb فى قاعدة بيانات Customerنكون تقرير يستخدم جدول -1 XXX:\Program Files\Microsoft Visual Studioتجدها فى هذا المسار على جهـازك

.NET 2003\Crystal Reports\Samples\Database حيث XXX هو القـرص المثبـت VS.NET2003عليه

Customer.Cityنضيف مجموعة الى التقرير باستخدام حقل -2 Viewerنربط التقرير باداة -3 الى النموج ComboBox نضيف اداة -4ــوى االداة -5 ــولComboBoxتحتـــــــ ــى الحقـــــــ علـــــــ

Customer.City،Customer.Country،Customer.Region الى الى النموذج لكى يقوم المستخدم بالنقر علـى هـذا الـزر لتكـوين Buttonضيف االداة ن -6

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

PDF created with pdfFactory trial version www.pdffactory.com

Page 27: Learn Crystal Reports2

Learn Crystal Reports [email protected]

27

للزرclickنكتب هذا الكود فى الحدث -7

Dim FieldDef As FieldDefinition FieldDef=Report.Database.Table.Item(0).Fields.Item(ComboBox1.Text) Report.DataDefinition.Group.Item(0).ConditionField= FieldDef CrViewer.RefreshReport

تعديل حقول الفرز فى وقت التشغيل

ويمكن ان يمكننا استخدام حقول الفرز الختيار الحقل الذى على اساسه يجرى فرز البيانات التى فى التقرير يمكن المثال التـالى . تنازلى،الحصول على اعلى قيم،الحصول على اقل قيميكون اتجاه الفرز تصاعدى او

المستخدم من تعديل حقل الفرز الخاص باحد التقارير ويفترض ان لدينا تقرير تتوفر به الشروط التاليةــسم • ــى ق ــين ف ــى حقل ــر عل ــوى التقري ــا :Detailsيحت و Customer.Name هم

Customer.Country Customer.Nameها على اساس حقل البيانات يجرى فرز • Click فى الحدث Buttonيمكن تغيير ترتيب الفرز فى التقرير عن طريق اضافة كود الى اداة •

Dim FieldDef As FieldDefinition FieldDef=Report.Database.Tables.Item(0).Fields.Item(ComboBox1.Text) Report.DataDefinition.SortFields.Item(0).Field= FieldDef

الوصول الى قواعد البيانات االمنة

فى تطبيقات الويندوز التى تحتوى على تقارير كريستال ريبورت يقوم مربع حوار تلقائيا بحث المستخدمين . ويمكن استخدام الكود لتحديد اسم المـستخدم وكلمـة المـرور . على ادخال اسم المستخدم وكلمة المرور

فية تمرير ممرات بدء تسجيل الدخول على جداول التقرير الموجودة فى قاعدة بيانات يوضح المثال التالى كيSQL Server:

نبدأ مشروع جديد -1 الى النموذج(TextBox)نضيف اداة زر واربع مربعات نص -2ــماء -3 ــصص اســـ و ServerNameTXT،DBNameTXT،userNameTXTنخـــ

passwordTXTالى مربعات النص الكود التالى للزر نكتبClickفى الحدث -4

Dim logOnInfo As New TableLogOnInfo() For i As Integer=0 To Report.Database.Tables.Count -1 LogOnInfo.ConnectionInfo.ServerName= ServerNameTXT.Text LogOnInfo.ConnectionInfo.DatabaseName=DBNameTXT.Text LogOnInfo.ConnectionInfo.UserID=userNameTXT.Text LogOnInfo.ConnectionInfo.Password=passwordTXT.Text Report.Database.Tables.Item(i).ApplyLogOnInfo(logOnInfo) Next i

وServerName ولك ن یج ب ع دم ادخ ال ق یم Accessویمك ن اس تخدام نف س الطریق ة م ع قواع د بیان ات

DatabaseName

@انتھى الجزء الثانى@

SOLO.NET

ARAB TEAM 2000

PDF created with pdfFactory trial version www.pdffactory.com