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

كريستال ريبورت....... الدرس الثاني

مغلقرائج
بدأه major رحمه الله في 31 يناير 2005 · 23 رد · 38,645 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الدرس الثاني

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

في الدرس السابق قمنا بعرض تقرير بأسماء العملاء المتعاملين مع المنشأة ، ولاحظنا في هذه التقرير أن بعض العملاء في السعودية وآخرين في مصر وبعضهم في لبيا وهكذا ، أي أن المنشأة تتعامل مع مجموعة من العملاء المنشرين في مجموعة من الدول وسنفرض الآن أننا نحتاج تقرير بأسماء العملاء في مصر فقط ، طبعا لن نقوم بتصميم تقرير جديد يحتوي علي العملاء في مصر ولكن سنستخدم نفس التقرير مع خاصية property من خواص الكائن Reportفي كريستال ريبورت يستخدم في تحديد البيانات المطلوب عرضها في التقرير وهي الخاصية :

RecordSelectionFormula

والآن إلي المشروع

1- قم بإنشاء مشروع جديد

2- كرر الخطوات من 3 إلي 6 في المثال السابق لإضافة أدوات كريستال ريبورت المعتادة وربط التقرير بمشروعك .ثم قم بتشغيل المشروع لمشاهدة التقرير

3- أضغط علي النموذج Form2 مرتين لفتح محرر الكود لفيجوال بيسك

4- ستجد الكود التالي في إجراء تحميل النموذج Sub Form_Load

Private Sub Form_Load()
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

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

أضف السطر التالي إلي هذا الإجراء

Report.RecordSelectionFormula = "{ctm.ct3} = 'مصر' "

بحيث يصبح هذا الإجراء كما يلي:

Private Sub Form_Load()
Screen.MousePointer = vbHourglass
Report.RecordSelectionFormula = "{ctm.ct3} = 'مصر' "
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

قم الآن بالضغط F5 لتشغيل المشروع ستجد أن التقرير أصبح يحتوي علي العملاء المصريين فقط

لاحظ كيف تم كتابة كلمة مصر في التقرير والعلامات التي حولها ، أي الصيغة التي تم بها تمرير اسم الدولة إلي الخاصية .

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

1- عرض أسماء الدول الموجودة في الجدول في ComboBox مثلا ليقوم العميل باختيار الدولة منه

2- تقوم بتمرير ما اختاره المستخدم إلي الخاصية RecordSelectionFormula لإعداد التقرير

3- ثم تطبع التقرير بعد ذلك

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

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

الدرس الأول

test.rar

تم تعديل هذه المشاركة بواسطة major في 31 يناير 2005 في 16:54

#2

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

أنسخ المجلد lesson-2 إلي المجلد C:\Tutorial

test2.rar

#3

شرح ممتاز ومجهود طيب منك فى انتظار المزيد

#4

بارك الله فيك

ان اجــمل الزهـــــــــــر مانـــــبت بحــــــــدائق الاحـــــــــــــــزان

Eng. Mohammed Salah

#5

الأخ mourad3d

الأخ MSrahieb_100

شكرا علي مروركم علي الموضع وتشجيعكم الحار ، وأتمني أن تحوز الدروس القادمة علي إعجابكم أيضا

#6

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

ولكن لى سؤال حان مواعده

كيف أجعل الكريستال يقوم بعمل تحديث لنفسه فى كل مره اقوم بأستعاده ويشعر تلقائيا بالتعديلات فى البيانات ؟؟؟

#7

الأخ mourad3d

السلام عليكم

يعود سبب ذلك إلي حفظ بيانات التقرير مع التقرير نفسه ، ويمكنك إلغاء هذه الخاصية بالنسبة إلي التقرير المفتوح عن طريق الآتي

1- من القائمة File تأكد أن الخيار Save Data with Report لا توجد أمامه علامة "√" وإذا كانت موجودة قم بنقر هذا الخيار لإزالتها .

كما يمكنك إلغاء هذه الخاصية بالنسبة لجميع التقارير المصممة مستقبلا عن طريق القائمة Option

1- من القائمة File أختر Option ستظهر لك نافذة جديدة بها ثماني بطاقات

2 أنقر علي البطاقة ذات العنوان Reporting

3 قم بإزالة العلامة من أمام الخيار Save Data with Report ثم انقر علي زرOK

وسأقوم بشرح أهم خيارات هذه القائمة في حلقة خاصة لاحقة بإذن الله

Major

#8

أخى الكريم بارك الله فيك وعلى عطائك الجميل

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

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

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

تم تعديل هذه المشاركة بواسطة mourad3d في 1 فبراير 2005 في 19:04

#9

أخي major بارك الله فيك

أنوي بإذن الله إستخدام الكريستال ريبورتس مع أوراكل 9i وإن شاء الله تكون دروسك هي بداية تحول تقاريري اليه

أشكرك مرة أخرى

وفي إنتظار الدروس القادمة بإذن الله

#10

الأخ mourad3d

لا توجد هذه الخاصية فعلا في RDC ، وعلي العموم

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

Option Explicit
Dim Report As New CrystalReport1


Private Sub Form_Load()
Screen.MousePointer = vbHourglass
Report.ReadRecords
CRViewer1.ReportSource = Report
CRViewer1.Refresh
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

تم تعديل هذه المشاركة بواسطة major في 1 فبراير 2005 في 20:30

#11

مشكور أخى

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

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

تمنياتى لك بالتوفيق الدائم

#12

أخي العزيز major شكرا لك على هذا المجهود الرائع واتمنى لك التوفيق وأنا أحاول بقدر المستطاع أن اتابع هذا الموضوع نظرا لأهميتة وحاجتي اليه في مشروع التخرج جزاك الله خيرا B)

#13

بارك الله فيك أخي major وبانتظار جديدك دائماً ..

ani.gif
#14

الأخ الشرق

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

الأخ عبدالله فتحي

شكرا جزيلا علي تشجيعك المتواصل وجهودك في ظهور الدورة بالصورة اللائقة

#15

شكرا أخي major واتمنى من الجميع ان يدعوا لي بالتوفيق في الأمتحانات التي سوف تبدأ يوم السبت دعواتكم لي :wacko:

#16

-09

الخ العزيز major

اخى اشكرك بشدة على الدروس و ارجوا من الله ان تكون سبب لخير لك !!

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

"{ctm.ct3} =

فما يعنى " ctm " , "ct3 "

و شكرا ً

ارجوا مساعدتى للعمل كمبرمج اوراكل باى شركة خبرتى 1 سنه و ربنا الموفق

خبرى 6 سنوات فى فيجوال بيزك 6و ASP

#17

-09

الاخ العزيز : codefinder

بالنسبة للسؤال فالاجابة هى :

ctm عبارة عن الجدول التى سوف يتم انتقاء المعلومات منة

ct3 عبارة عن الحقل او الــ field الخاص بالتعامل

و شكرا

ارجوا مساعدتى للعمل كمبرمج اوراكل باى شركة خبرتى 1 سنه و ربنا الموفق

خبرى 6 سنوات فى فيجوال بيزك 6و ASP

#18

الأستاذ major

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

قم بتنزيل الكريستال ريبورت إصدارة 10 وركبته بنجاح وهو يعمل من خلال قائمة Start ولكني لم أجد شيئاً في الفيجول

فحينما أذهب إلى تبويب Designers لا أجد Crystal Report .. وكذلك المر حينما أذهب إلى قائمة Project

ما السبب ؟

علماً أنني حاول تشغيل المثال الوارد في الدرس الأول .. ولكن لم يعمل وحينما ذهبت إلى ملف log وجدت

Line 2: Class {BD4B4E61-F7B8-11D0-964D-00A0C9273C2A} of control CrystalReport1 was not a loaded control class.

Line 0: The file C:\Tutorial\lesson-1\CrystalReport1.Dsr could not be loaded.

وشكراً :rolleyes:

post-252239-064955400%201356690312.gif
#19

يعطيكم العافيه

#20
Lamyaa كتب:
الأستاذ major

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

قم بتنزيل الكريستال ريبورت إصدارة 10 وركبته بنجاح وهو يعمل من خلال قائمة Start ولكني لم أجد شيئاً في الفيجول

فحينما أذهب إلى تبويب Designers لا أجد Crystal Report .. وكذلك المر حينما أذهب إلى قائمة  Project

ما السبب ؟

علماً أنني حاول تشغيل المثال الوارد في الدرس الأول .. ولكن لم يعمل وحينما ذهبت إلى ملف log وجدت

Line 2: Class {BD4B4E61-F7B8-11D0-964D-00A0C9273C2A} of control CrystalReport1 was not a loaded control class.

Line 0: The file C:\Tutorial\lesson-1\CrystalReport1.Dsr could not be loaded.

وشكراً  :rolleyes:

:(

post-252239-064955400%201356690312.gif
#21

شكرا جزيلا وفقك الله

#22

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

#23

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

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

gaza3-3.jpg
#24

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

الف شكر على هذا الموضوع القيم

جزالك الله الف خير ومزيدا من التقدم

شكرا من القلب

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

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