major

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

24 ردود في هذا الموضوع

الدرس الثاني

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

في الدرس السابق قمنا بعرض تقرير بأسماء العملاء المتعاملين مع المنشأة ، ولاحظنا في هذه التقرير أن بعض العملاء في السعودية وآخرين في مصر وبعضهم في لبيا وهكذا ، أي أن المنشأة تتعامل مع مجموعة من العملاء المنشرين في مجموعة من الدول وسنفرض الآن أننا نحتاج تقرير بأسماء العملاء في مصر فقط ، طبعا لن نقوم بتصميم تقرير جديد يحتوي علي العملاء في مصر ولكن سنستخدم نفس التقرير مع خاصية 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
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

test2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ mourad3d

الأخ MSrahieb_100

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ mourad3d

السلام عليكم

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

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

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

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

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

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

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

Major

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

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

تم تعديل بواسطه mourad3d
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ 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
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكور أخى

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ الشرق

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

-09

الخ العزيز major

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

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

"{ctm.ct3} =

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

و شكرا ً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

-09

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

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

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

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

و شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأستاذ 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:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
الأستاذ 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:

:(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

شكرا من القلب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .