لدي تقرير عن الرواتب مكون من عدة صفحات
كيف يمكن عمل جمع الرواتب كل صفحة على حده ونقل مجموع الصفحة إلى التي بعدها أي كما نكتب يدوي ( ما قبله ) وفى آخر صفحة محموع الصفحات كلها .
أشرف
لدي تقرير عن الرواتب مكون من عدة صفحات
كيف يمكن عمل جمع الرواتب كل صفحة على حده ونقل مجموع الصفحة إلى التي بعدها أي كما نكتب يدوي ( ما قبله ) وفى آخر صفحة محموع الصفحات كلها .
أشرف
اخي الله يعينك من الامور الصعبة التي واجهتني وهي الجمع التركمي للصفحات وقمت بفكرة بسيطة لعلها تصلح معك الفكرة :
انني قمت بعمل جدول مستقل للرواتب وفي اثناء تعبئته اضع عداد يجعل كل عشرةاسماء لها رقم (او حسب سعة الصفحة عندك) وبهذا تستطيع الجمع التراكمي للصفحة بحيث تكون الصفحة تختوي على رقم واحد وتبداء صفحة جديدة مع الرقم الثاني ولك تحياتي
من سار على الدرب وصل
الأخ أشرف
بالنسبة للشق الأول من السؤال فهذه إجابته :
كود لحساب مجموع رقمي لكل صفحة في تقرير
ضع الكود التالي في الوحدة النمطية الخاصة بالنموذج :
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 = PageSum
End Sub
لقد جربت الكود على 21 صفحة مليئة بالأرقام وتنقلت بينها وكانت النتيجة صحيحة .
بالنسبة لمربع النص المسمى txtPageTotal فهو يظهر مجموع المبالغ في الصفحة دون أن يجمع معها المجموع السابق فإذا كنت في غير حاجة إليه فقم بإخفائه .
أرجو أن تخبرني إذا عمل معك الكود جيداً وملاحظاتك عليه .
ولك تحياتي .
الأخ 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
-----------------------------
وفقك الله .
الأخ الكريم ابو هادي
السلام عليكم ورحمة الله
اشكرك كثيراً لوضعك ردك ولم ترمه حيث اكتشفت عند تطبيقك لما ذكرته خطأي ، فو رجعت إلى ما كتبت للاحظت أن المجموع الذي يظهر في أعلى كل صفحة هو مجموع الصفحة السابقة فقط وليس كل الصفحات السابقة الذي هو المطلوب ، ولتصحيح الخطأ اجعل مربع النص الثاني الذي قلت لايهم اسمه بدلاً من :
PagePreviousSum = PageSum
والموجود في حدث عند الطباعة لمقطع تفصيل
PagePreviousSum = [اسم مربع النص] .
واشكرك اخي هادي على عدم رمية لما كتبته فأنا أول من استفاد منه وحقيقة هو أسهل مما كتبت وأقل تعقيداً فشكراً لك .
ولك تحياتي
الأخوة الأعزاء رواد المنتدى عامة
الأخوة الأفاضل أبو حمود وأبو هادي
شكرا جزيلاً لكم على ردودكم الفعالة والتي كانت فيها الإجابات الشافية الوافية .
أكرر شكري وامتناني إليكما.
أشرف خليل
أيها الإخوة
السلام عليكم ورحمة الله
كيف نطبق هذه المبادئ على كشف حركة للصندوق
حيث نعرف رصيد الصندوق لليوم السابق وهذا سؤال وضعته بالمتندى منذ فترة وللأسف لم أجد حلا له
وهو موجود على هذا الرابط http://arabteam.nicmatic.com/vb/showthread...3?threadid=3165
الأخ سعيد
بعد التحية :
كما أجبنا على الأخ Ashraf لكن مع بعض التعديلات :
بافتراض أن العمود المطلوب جمعه هو [الرصيد]
وهو ناتج طرح عمودين (منه - له) Debit,Credit
------------------------------
أولا : في Detail إعمل عمود آخر بإسم [الرصيد]
ثم من Properties
من Data اكتب [له]-[منه]= في الـ Control Source
من Data اختر Over All لـ Running Sum
من Format اختر No لـ Visible
-----------------------------
ثانيا : في Page Header إعمل Text Box بإسم [ماقبله]
ثم من Properties
من Data أكتب ([له]-[منه])-[الرصيد]= في الـ Control Source
-----------------------------
ثالثا : في Page Footer إعمل Text Box بإسم [بعده]
ثم من Properties
من Data أكتب [الرصيد]= في الـ Control Source
-----------------------------
وفقك الله .
لم أكن أتوقع أن الأكسس يستطيع عمل ذلك كما هو الحال في الأكسل من ناحية (جمع ما قبله )
ولكني لم أفهم الطريقة لأنها باللغة الإنجليزية فهل يتفضل علي أحد ممن قام بالشرح بوضع مثال على ذلك لنقوم بتحميله لأنه فعلا يوجد عندي برنامج رواتب وأريد أن أضيف فيه هذه الميزة
وللجميع خالص تحياتي
برجاء ارسال مثال كامل على الجمع فى التقرير ونقل الجمع او بمعنى ماقبله للصفحة التالية وشكرا
KHALED_HELAL
يوجد لدي تقرير فكيف استطيع ارفاقه ؟؟؟
===
أستمد قوتي من ايماني بالله وأشعر بالراحه النفسية عندما اذكر اسم الله . الحمد لله
===
المشتاق الى الجنة
أبو صفاء - مسقط
===
اخواني الاعزاء
الاخ العزيز اشرف خليل
الموضوع مهم للغايه ولطالما اردت الحصول عليه
الملف after كلما حملته واريد فكه يعطينى رسالة بان الملف غير موجود او انه تالف
ياريت احد الاخوه يرسله على الاميل التالى afify1965@hotmail.com
وياريت يكون غير مضغوط لو كان حجمه صغير
ولكم منى جزيل الشكر
الاخ العزيز بوحمدان 2000
السلام عليكم ورحمة الله وبركاته
الملف الموجود فى ردك لم يفتح معى وانا محتاجة جدا فهل يمكنك ان ترسله لى على الاميل الموجود بالاعلى
ولك تحياتى
ah_afify
الاخ العزيز/ ah_afify
ارسلت لك الى بريدك النسخة المحسنة من الملف ....
اعذرني على التاخير بسبب الارهاق والمرض ...
مع خالص تحياتي
الاخ العزيز بوحمدان
الف شكر الملف وصل
بارك الله فيك وزادك من علمه
اخي ابو حمدان
حمداً لله على سلامتك والله يعطيك الصحة والعافية
اخي الملف الذي ارسلته فتحته ووجد فيه كل مااريد
الف شكر وتحية عطره
اخوك
ah_afify
السلام عليكم ورحمة الله وبركاته
جربت ما طرح من الأكواد وكان فعالاً مع التقارير
لكن الذي لم يفلح معي انه لم يكن فعالاً من النماذج أو أني لم أفلح في ذلك
أتمنى منكم أن تدلوني على ذلك وياليت أن يكون بمثال ليكون أوضح
وجزاكم الله خير الجزاء
وسلامتك يا أخ ((بوحمدان2001)) من الإرهاق والمرض
أخوكم / أنور
ياليت تنزلوا مثال
السلام عليكم ورحمة الله وبركاتة
أمل منكم التفضل بوضع المثال حيث لم اتمكن من انزال السابق
تم تعديل هذه المشاركة بواسطة تلميذ ابو هاجر في 27 نوفمبر 2003 في 22:09
تفضل المثال
شكراً جزيلاً استاذي ((أشرف خليل))
على المثال الرائع
لكن النموذج يحتاج إلى تعديل فلم يكن مرتبط بأي مصدر
وأنا محتاج للنموذج لإضهار المجموع الحالى والسابق - ماقبله -
أكرر شكري للجميع
السلام عليكم ورحمة الله وبركاتة
بارك الله فيك يا استاذنا / اشرف خليل
وجزاك الله الف خير
هذا الموضوع مغلق.