اذهب الي المحتوي
أوفيسنا

ما قبله ( جمع الصفحات )


ashraf

الردود الموصى بها

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

***************************************

بافتراض أن العمود المطلوب جمعه هو [الصافي]

------------------------------

أولا : في Detail إعمل عمود آخر بإسم [الصافي2]

ثم من Properties

من Data اختر Over All لـ Running Sum

من Format اختر No لـ Visible

-----------------------------

ثانيا : في Page Header إعمل Text Box بإسم [ماقبله]

ثم من Properties

من Data أكتب [الصافي]-[بعده]= في الـ Control Source

-----------------------------

ثالثا : في Page Footer إعمل Text Box بإسم [بعده]

ثم من Properties

من Data أكتب [الصافي2]= في الـ Control Source

-----------------------------

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

  • 1 month later...

هذا الرد لأبو حمود

لتنفيذ الموضوع بالكود

و يتناول شقين

الأول الجمع لكل صفحة على حده و الثاني نقل مجموع الصفحة إلى التي بعدها ( ما قبله ) وفى آخر صفحة محموع الصفحات كلها .

بالنسبة للشق الأول من السؤال فهذه إجابته :

كود لحساب مجموع رقمي لكل صفحة في تقرير

ضع الكود التالي في الوحدة النمطية الخاصة بالتقرير:

Option Compare Database

Option Explicit

Public PageSum As Double


Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

PageSum = 0

End Sub



Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)

PageSum = PageSum + Reports![اسم التقرير]![اسم الحقل المطلوب جمع بياناته]

End Sub

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

=[ PageSum]
بخصوص سؤال الشق الثاني فقد قمت بتجارب حتى وصلت لما أظنه جواب له : 1- في مقطع رأس الصفحة أنشئ مربع نص واجعله مباشرة فوق حقل المبلغ الموجود في مقطع تفصيل واجعل مصدر مصدر عنصر التحكم له : =[PagePreviousSum] 2- في مقطع تذييل الصفحة أنشئ مربعي نص أحدهما باسمtxtPageTotal والآخر باي اسم لايهم ، واجعل مصدر عنصر التحكم للأول : =[PageSum] وللثاني : =[Total]+[txtPageTotal] وفي الوحدة النمطية الخاصة بالتقرير ضع :
Option Compare Database

Public PagePreviousSum As Double

Public PageSum As Double

Public Total As Double



Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

  PageSum = 0

  If Me.Page = 1 Then PagePreviousSum = 0

  Total = PagePreviousSum

  End Sub



Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)

PageSum = PageSum + Reports![اسم التقرير]![اسم حقل المبلغ]

PagePreviousSum =اسم مربع النص    

' ضع اسم مربع النص بي [] اذا كان به مسافة

End Sub

لقد جربت الكود على 21 صفحة مليئة بالأرقام وتنقلت بينها وكانت النتيجة صحيحة .

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

رابط هذا التعليق
شارك

  • 4 months later...

لدي كشف مكون من اربع صفحات للرواتب - اعرف تجميع الرواتب في آخر التقرير فقط

باستخدام sum ولكن كيف يمكنني اظهار الجمع لصفحة 1 في صفحة 1 و2 في 2 وهكذا

ايضا ماهي الطريقة لإظهار مجموع الصفحة الأولى في الثانية والثانية في الثالثة وهكذا

ولكم الشكر والتقدير

رابط هذا التعليق
شارك

شكرا اخي الكريم

وبالنسبة للمثال فإن تجميع ما قبله في اعلى الصفحه جيد ويفي بالمطلوب

اما بالنسبة للتجميع في اسفل الصفحات فلا يفي بالغرض حيث على سبيل المثال

مجموع الصفحه الثانية هو عبارة عن مجموع الصفحه الاولى + الثانية وليس مجموع الثانية فقط

وكذلك بالنسبة للثالثه = الاولى + الثانية + الثالثه وليس هو مجموع الثالثه فقط وهكذا

رابط هذا التعليق
شارك

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information