بتاريخ: 24 أبريل 200817 سنة comment_127364 اخواني الاعزاء,تحية طيبة وبعد,,, جدول اسمه txt_tab يحتوي على رموز نوع الحركات المالية مثلاً (دفع نقدي, بيع وشراء عملات اجنبية,بيع وشراء مستندات ... وهكذا) حيث أن الحقل EXP_cde يمثل رمز نوع الحركة في هذا الجدول , ويوجد جدول آخر للحركات المالية االتي تحدث يومياً اسمه TRANS حيث يحتوي على تاريخ الحركة ومبلغها ورمز نوع الحركة(نوع الحركة) واسمه هنا tab_ent وهو يشير الى الحقل Exp_cde في جدول txt_tab المذكور آنفاً. المطلوب تقرير يجمع مبالغ العمليات المالية لفترة محددة حسب نوع العملة وحسب نوع الحركة من جدول الحركات ,والمشكلة انه مطلوب ايضا طبع الحركات الموجودة في جدول txt_tab والتي لم تتم لها حركة في جدول الحركات خلال المدة المحددة حيث يتم عرضهامع وضع اجمالي حركاتها يساوي صفر(لانه ليس لها عملية ) . ولكني لم استطع فعل ذلك حيث ان التقرير يطبع فقط الحركات الموجودة في جدول الحركات فقط ولها مبالغ خلال المدة المحددة واليكم الكود,راجياً منكم المساعدة العاجلة مجزيين كل خير . ودمتم سالمين. select cur_code,tab_ent sum(nvl(trans_amt,0))tra_amt, from trans,txt_tab where (cur_code <>1 and led_code in (1000,1001,1002) and tra_date between &first_date and &last_date) group by cur_code,tab_ent; تقديم بلاغ
بتاريخ: 24 أبريل 200817 سنة كاتب الموضوع comment_127365 حتى بعد اضافة اشارة الربط الخارجي(+) في الكود لم تفلح العملية select cur_code,tab_ent sum(nvl(trans_amt,0))tra_amt, from trans,txt_tab where (txt_tab.tab_ent(+)=trans.exp_cde and cur_code <>1 and led_code in (1000,1001,1002) and tra_date between &first_date and &last_date) group by cur_code,tab_ent; / تقديم بلاغ
بتاريخ: 24 أبريل 200817 سنة comment_127368 يمكنك تجزئة التقرير الى الجزء الاساسى هو استرجاع الرموز المختارة من جدول الرموز ثم استخدام الforumal column مع امر select لاسترجاع المجموع لكل نوع حركة ... مع امكانية استخراج المجموع لكل نوع عملة باستخدام ال place holder ... والخاص بنوع الحركة المختارة مجرد اقتراح ... للمساعدة تقديم بلاغ
بتاريخ: 26 أبريل 200817 سنة كاتب الموضوع comment_127447 أخي أمجد, أولاً شكراً على تجاوبك مع مشكلتي ماذا تقصد ثم استخدام الforumal column مع امر select وما هو ال place holder تقديم بلاغ
بتاريخ: 26 أبريل 200817 سنة comment_127503 اليك هذا المثال لتقرير مبسط ... developer 6i user = scott table = dept جدول الادارات هو الجدول الاساسي لكل رموز الادارات ثم من جدول ال employee يتم اعداد مجموع الرواتب على مستوى كل ادارة باستخدام ( formula column or عمود صيغة ) ... حتى فى حالة عدم وجود موظفين للادارة ... سيظهر اسم الادارة ومجموع رواتب = صفر اليك الملف من نوع swfوالملف الاخر هو التقرير create_report_sample.zip تقديم بلاغ
بتاريخ: 27 أبريل 200817 سنة كاتب الموضوع comment_127517 أخي أمجد ..المشكلة انه الجروب سوف تكون حسب العملة ورمز العملية والعملة موجودة في جدول الحركات بينما رمز العملة في جدول الرموز ولا توجد علاقة بين الجدولين لان الحقل exp_cde الذي في جدول الحركات لا يعتبر مفتاح اجنبي للحقل tab_ent الموجود في جدول الرموز وهنا تكمن المشكلة , حيث لو قمت بالتجميع حسب رمز العملة الموجود اساساً في جدول الرموز والتجميع طبعاً من جدول الحركات ولا توجد علاقة بينهما فانه فعلاً سيعرض كافة العمليات لكن التجميع سيكون خاطئ ومكرر لكافة العمليات. تقديم بلاغ
بتاريخ: 27 أبريل 200817 سنة comment_127520 try to use Union select cur_code,tab_ent sum(nvl(trans_amt,0))tra_amt, from trans,txt_tab where (txt_tab.tab_ent(+)=trans.exp_cde and cur_code <>1 and led_code in (1000,1001,1002) and tra_date between &first_date and &last_date) group by cur_code,tab_ent; union select exp_cde,null,0 from txt_tab where exp_code not in (select tab_ent from trans where tra_date between&first_date and &last_date) تقديم بلاغ
بتاريخ: 27 أبريل 200817 سنة كاتب الموضوع comment_127556 جزاك الله خير يا أم مريم ,,, لكن ناتج الجمع خاطئ اضافة الى أنه يكرر التجميع ,,, على العموم شكراً جزيلاً لك وللأخ أمجد على المساعدة حيث اني سأسلم التقرير غداً كما هو , وأرجو من اي شخص يجد حلاً ان يعرضه لنا حتى نستفيد للمرات القادمة حيث أن المشكلة مازالت قائمة وحتماً اننا سنتعرض لها مستقبلاً . ودمتم سالمين تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.