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

كيف اجمع قيمه حقول معينه ليوم معين في الشهر في Crystal Reports

مغلق
بدأه النبهاني في 3 يونيو 2007 · 13 رد · 2,322 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا جديد جدا على التقارير في net. ، وخصوصا مع Crystal Reports ( حاولت استخدام تقنية التقارير الجديده ولكنني لجأت الى كريستال ريبورت لوجود دعم وامثله اكثر عنه )

لدي جدول به حقول كما يلي :

rDate pND pDD pLD

طبعا في الحقل rDate يتم ادخال تاريخ كامل ، وما اريده هو عمل تقرير شهري عن مجموع pND و pDD و pLD لكل يوم في ذلك الشهر واظهارها بشكل منفصل ، اي لو افترضنا وجود 30 يوم في الشهر فنقوم بوضع 30 اداه نص في التقرير ، الاداة الاولى تظهر مجموع تلك pND و pDD و pLD في اليوم الأول من الشهر والاداه الثانيه نفس العملية ولكن لليوم الثاني من الشهر وهكذا ...

احس بأن العملية صعبه ولا اعلم من اين ابدأ وانا جديد على كريستال ريبورت فماذا افعل يا جماعه الخير :wacko:

#2

الموضوع بسيط جدا بس بدها شوية انتباه

أنا أعمل على الـ 2005 Pro ولاأعتقد بوجود فروقات كبيرة إن كنت تعمل على نسخ أخرى المهم الفكرة العامة

سأبدأ معك خطوة خطوة

- أضف لمشروعك تقرير جديد

- اختر من معالج الحوار استخدام الـ Wizard و Standard ثم اضغط OK

- اختر مصدر البيانات الخاص بك ثم اضغط next

- اختر الحقول التي تريد تضمينها في التقرير ثم اضغط Next

- اختر الحقول التي تريد تجميع البيانات وفقها الحقل rDate لديك على سبيل المثال ثم اضغط next

- اختر الحقول التي تريد تجميع قيمها ثم اضغط next

- لاداعي لتعديل الصفحة التالية اضغط next فورا

- إذا أردت إضافة chart يمكنك اختيار الخيارات المناسبة ثم اضغط next

- أذا أردت إضافة معلومات فرعية يمكنك اختيار المناسب أو اضغط Next بدون تعديل شئ

- اختر الـ style المناسب للتقرير ثم اضغط Finish

بعد ذلك يظهر التقرير في وضع التصميم

- من مجموعة Group Name Fields اختر الحقل الذي يتم التجميع وفقه

- ثم انقر بالماوس اليميني عليه واختر Group Expert

- اختر الحقل المطلوب من نافذة Group Expert ثم اضغط زر Options

- اضبط الخيارات كما تريد مثلا الخيار The Selection will be printed يمكن ضبطه for each day وهو الخيار الذي تسأل عنه

بالتوفيق وأرجو أن تكون إجابتي شافية بالنسبة لسؤالك

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 3 يونيو 2007 في 22:23

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

اخي العزيز شكرا لك على الرد ، انا استخدم نفس الاصدار ايضا ،

اولا اشكرك على الجواب وقد تعلمت منه ،

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

ارجو ان يكون طلبي واضح واعذرني ان كثرت اسئلتي فأنا الان في مرحله التعلم وبحاجه لكل معلومه :lol:

تم تعديل هذه المشاركة بواسطة النبهاني في 3 يونيو 2007 في 23:07

#4

لامشكلة أخي لديك في الأول الطريقة العامة لعمل التقرير بشكل سريع

بالنسبة لمجموع الحقول كلها يمكنك اتباع عدة طرق منها:

- إضافة حقل مجموع في التقرير نفسه وهذه بنفس طريقة حقول المجموع في تقارير الأكسيس تقريبا

- عمل عبارة Select تتضمن المجموع الذي تريده وضمها لـ DataSet موجودة أو إنشاء DataSet خاصة بها ثم عمل التقرير بناء على عبارة الـ Select بنفس الطريقة السابقة

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 4 يونيو 2007 في 00:23

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

يمكنك استخدام هذه الطريقة لعمل المجاميع بالطريقة التي تريدها

لإضافة حقل يحتوي على معادلة:

- افتح التقرير في وضع التحرير ثم أظهر Field Explorer

- انقر بزر الفأرة اليميني على Formula Fields ثم اختر New ثم أدخل الاسم الذي تريده لحقل المجموع

- يوجد لديك ثلاثة أزرار Cancel و Use Expert و Use Editor وأنا شخصيا أتعامل مع Use Editor

- إذا استخدمت خياري المفضل Use Editor سيظهر لك صندوق حوار لإنشاء المعادلة التي تريدها

- يمكنك تركيب المعادلة الآن كما تشاء وذلك بطريقة مشابهة جدا لمربع حوار إنشاء المعادلات في الـ Access

- بعد وضع المعادلة بالشكل الذي تحتاجه يمكنك الضغط على زر Save And Close لحفظ حقل المعادلة الذي قمت بإنشائه

- الآن يمكنك سحب الحقل الجديد الذي أنشأناه للتو إلى محرر التقرير واستخدامه بالشكل المناسب لحاجتك

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 4 يونيو 2007 في 00:24

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#6

وإذا أحببت إضافة مجموع أسفل التقرير لأحد الحقول:

- من Field Explorer انقر بزر الفأرة اليميني على Running Total Fields ثم اختر New

- اختر الحقل الذي تريد تجميعه من القائمة اليسرى في مربع الحوار ثم انقر الزر <

- اضبط خيارات التجميع المناسبة لك من القسم اليميني لمربع الحوار ثم اضغط OK

- الآن يمكنك سحب الحقل الجديد الذي أنشأناه للتو إلى محرر التقرير واستخدامه بالشكل المناسب لحاجتك

أعتقد الآن أنني غطيت قسما جيدا مما يحتاجه المرء في عمل تقرير بشكل سريع

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

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#7

في الحقيقة لا اعلم ماذا اقول لك اخي الكريم ، لقد وضعت لي هنا الكثير من الخيارات والمعلومات المفيده ، ولكنني للأسف لم اصل الى نتيجه :wacko: لقد جربت عمل التقرير وفي كل مره يظهر لي تواريخ غير موجوده بقاعدة البيانات اصلا :blink: ويصر على ان المجموع يساوي صفر :huh:

وهناك تقرير آخر يظهر لي التقرير بيانات غير حقيقية ارقام كبيرة جدا غير موجوده بقاعدة البيانات ولا حتى بالجمع !!

مرفق تقرير ارجو النظر فيه ليكون طلبي فيه اوضح ،

واعذرني على كثره الاسئلة

rptCost.rar

#8

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

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9

لقد بدأت العمل بصورة جيدة وأعتقد أنك ممكن تتابع أعتقد أن لديك مشكلة في معادلات المجاميع فمثلا

OrdinaryTotal

If {MainTable.Type} = 0 Then Formula =  ' Rest Of Code

SpecialTotal

If {MainTable.Type} = 0 Then Formula = ' Rest of code

من هذا المثال نلاحظ أن Ordinar total و special total يملكان نفس المعادلة وبالتالي ستظهر نتائج غير صحيحة عليك المتابعة فقط في بناء المعادلات بشكل صحيح

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#10

أعذرني اخي العزيز يبدو انه خطأ تافه آخر :lol: ومن دون هذه الأخطاء الانسان لا يتعلم :rolleyes:

لقد عدلت الاكواد ليصبح كود الداله SpecialTotal كما يلي :

SpecialTotal

If {MainTable.Type} = 1 Then Formula = ' Rest of code

ولكن مجددا لا يظهر شيء :blink:

فأين المشكلة ؟

ملاحظة : ارفقت قاعدة البيانات (h)

DietSystem.rar

#11

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

اقتباس
- عمل عبارة Select تتضمن المجموع الذي تريده وضمها لـ DataSet موجودة أو إنشاء DataSet خاصة بها ثم عمل التقرير بناء على عبارة الـ Select بنفس الطريقة السابقة

إليك هذا المثال الذي قمت بالتجربة عليه بعد رؤية تقريرك وقد قمت بعمل قاعدة بيانات صغيرة للتجربة وإليك ما توصلت إليه

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

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

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

Nbahny00.rar

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 5 يونيو 2007 في 00:16

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#12

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

تقبل تحياتي الخاصه لك،

الله يوفقك

#13

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

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#14
محمد سامر أبو سلو كتب:
لا شكر على واجب أخي وأرجو أن تستطيع عمل التقرير بالشكل الذي يناسبك

كريم يا اخي الكريم ..

اود هنا توضيح كيف قمت بحل مشكلتي وانشاء التقرير ،،، بشكل مختصر:

في الحقيقة كنت ارغب بعمل نوعين من المجاميع ، اي لكل يوم من الشهر يوجد مجموعين الاول عندما يكون الحقل Type يساوي 1 والثاني عندما يكون نفس الحقل يساوي 2 ، وايضا كنت ارغب بعرضهما بشكل متجاور ، وفعلا وبعد طول مشقه ، وبعد ان اتعبتك معي كثيرا حللت المشكلة بانشاء استعلامين الاول لحساب المجموع في حاله كون الحقل Type يساوي 1 والاخر في حاله كون الحقل يساوي 2 ، ثم عملت استعلام ثالث يجمع بينهما بعدما عملت بينهما علاقات وانتهت القضيه :lol:

ايضا فقد تركت Crystal Report وعدت الى تقارير فيجوال ستوديو نفسها فهي بالفعل رائعه واحس انها ترقني اكثر من كريستال ريبورت ولم اخرتها في البدايه لانني احسست انها معقده والمصادر عنها قليله خصوصا هنا في المنتدى ولكن الان حللت كل المشاكل التي كانت تواجهني والحمد لله ،

تحباتي للجميع (h)

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…