بتاريخ: 1 سبتمبر 200718 سنة comment_108901 بسم الله الرحمن الرحيم اخواني الاعزاء قمت بعمل تقرير يقوم بجمع رواتب الموظفين(حقل sum في التقرير المرفق) بشكل تراكمي والمشكلة لدي انني اريد عندما تتغير الادارة ان يقوم بعمل تصفير للمجموع التراكمي ويبدأ من جديد .قمت بإرفاق صورة تنفيذ التقرير حيث ان العمود بالون الاحمر هو الذي اتكلم عنه , طبعا في البداية اي في اول ادارة رقم 10 لا يوجد اي مشكلة ولكن عندما تغيرت الادارة الى 20 قام بأخذ المجموع التراكمي السابق وهو 17500 وجمعهالى 1600 مما نتج عنه 17500+1600 = 19100 وهذا ما لا اريدهاريد ان يقوم بإعتبار المجموع التراكمي صفر عندما تتغير الادارة اي يصبح المجموع عند الدائرة رقم 20 في البدايةبدل من 19100 .... 1600+0 (مجموع التراكمي الصحيح) = 1600 ومن ثم يزيد بناءا على هذا المجموع .انا وضعت المجموع الصحيح بالخط الاسود بقرب الحقل الاحمر زيادة في التوضيح .....سأرفق التقرير وصورة عنه في المرفقات ....الرجااااااااء مساعدتي في حل المشكلة Reports.zip تقديم بلاغ
بتاريخ: 1 سبتمبر 200718 سنة comment_108963 Salamo 3alaikom, 1)you can add another place holder, call it cp_2. 2) modify the cf_1 formula to be like this : function CF_1Formula return Number is v_value number(10); begin if nvl(:cp_2,:dept_no) = :dept_no then v_value := nvl(:cp_1,0) + :cf_sal; :cp_1 := v_value; :cp_2 := :dept_no; else :cp_1 := 0; v_value := :cp_1 + :cf_sal; :cp_1 := v_value; :cp_2 := :dept_no; end if; return (V_VALUE); end; Good luck man تقديم بلاغ
بتاريخ: 2 سبتمبر 200718 سنة كاتب الموضوع comment_108984 بارك الله بك , والى الامام وفقك الله ورعاك تقديم بلاغ
بتاريخ: 2 سبتمبر 200718 سنة comment_108992 اخى الكريم الحل انك تعمل Summary column يجمع ال Salary على مستوى Dept_no والحقل ده يكون فى الجروب مع ال Salary ودى صورة التقريروده رابط للتقريرhttp://www.zshare.net/download/3431636c42d27c/والله الموفق تقديم بلاغ
بتاريخ: 25 نوفمبر 200817 سنة comment_143801 السلام عليكم ... استاذ ammar_kh1982 والله جلست ادعي لك من كل قلبي ..انا كنت محتاج هذا الكوووود جدااا جداا .. فرجت علي الله يفرج عليك ... ويجعلك من اهل الفردوس الاعلي تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.