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

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

مغلق
بدأه essam rabea في 19 فبراير 2003 · 15 رد · 6,629 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

عندى تقرير من حوالى 360 صفحة وهو خاص بعناوين الكتب والمؤلفين ....الخ

وقد قسمت هذا التقرير تقسيم موضوعى بحيث يعرض كل موضوع على حدة

ويبدا كل موضوع جديد فى صفحة جديدة مبتدأ برقم (1) ولكن واجهتنى مشكلة عندما وضعت ترقيم الصفحات بالطريقة الآتية [صفحة رقم (..) من (..)] فكان يعطى إجمالى عدد صفحات التقرير كاملا

وما اريده هو ان يعطينى رقم الصفحة من اجمالى عدد الصفحات فى الموضوع

هل يمكن ذلك

وشكرا

#2

فى مربع النص فى تذييل التقرير

="Page " & [Page] & " of " & [Pages]

#3

أخي الكريم محمد

السلام عليكم

معذرة على المقاطعة

أخي الكريم عصام

أعتقد أن ذلك غير ممكن لأن خاصية Pages هي من خصائص التقرير وفي حين أننا نستطيع وضع كود لبدء الترقيم من جديد عند بداية كل مجموعة عن طريق ضبط الخاصية page إلى 1 فإننا لا نستطيع معرفة عدد صفحات المجموعة في التقرير إلا عند نهاية المجموعة مما يعني أننا لا نستطيع تنفيذ الأمر إلا في آخر صفحة تعرض سجلات المجموعة

هذا بالطبع حسب علمي وفوق كل ذي علم عليم

تحياتي

#4

نعم ، وأظن الموضوع يشابه نوعا ما الموضوع التالي :

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

http://www.arabteam2000.com/vb/showthread....&threadid=21672

وذلك من حيث سبب عدم الإمكانية

سبق أن فكرت في حل لكني لم أطبقه :

أن يتم وضع متغير في وحدة نمطية عامة ، ويتم فيه تخزين عدد صفحات كل مجموعة ، وبعد الانتهاء من تنسيق التقرير ، يعني في آخر حدث من أحداث تنسيق التقرير (أظنه حدث عند الصفحة في خصائص التقرير) ، يتم إغلاق التقرير وإعادة فتحه من جديد واستمداد معلومات ترقيم الصفحات من ذلك المتغير .

حل طويل ومزعج لكنه عند الضرورة قد يكون مقبولا.

إلا إن يسر الله حلا أفضل .

#5

السلام عليكم

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

تحياتي

#6

نعم بالطبع كلامكم سليم

و عذرا فيبدو أنني لم أقرأ السؤال جيدا :o

مع تحياتي

#7

هذا هو الملف الله يخليكم جميعا والف شكر على سرعة الرد

alamiah.zip

#8

هذا الكود من موقع أكسس ويب

http://www.mvps.org/access/reports/rpt0013.htm

[WEB]http://www.mvps.org/access/reports/rpt0013.htm[/WEB]

#9

أخي الكريم محمد

السلام عليكم

كود رائع بالفعل تحياتي

#10

جزاك الله خير وجعل ذلك في موازين حسناتك

لكن لدي إشكال

لم يعمل الكود بشكل صحيح معي حتى استبدلت السطر :

If Me.Pages = 0 Then

بـ :

If Me.TxtPages = 0 Then

حيث TxtPages هو مربع نص مصدر عنصر التحكم فيه هو =[Pages]

يعني حدث PageFooter_Format عندي يعتبر مجموع الصفحات دوما صفر

بينما الكود يفترض أن التقرير يتم إجراء Format له مرتين، في المرة الأولى يكون مجموع الصفحات صفر وفي المرة الثانية يكون قد تم التعرف على مجموع الصفحات .

فما الخطأ عندي ؟

والمثال المرفق يوضح ذلك

#11

نسيت إرفاق المثال الذي يوضح المشكلة

pagespr2.zip

#12

أخي الكريم حارث

السلام عليكم

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

If Me.TxtPages = 0 Then

بـ :

If Me.Pages = 0 Then

وعمل الكود أيضاً بشكل صحيح فما المشكلة ؟

تحياتي

#13

نعم صحيح .

لكن لما حذفت أيضا مربع النص TxtPages لم يعمل الكود

#14

أخي الكريم حارث

السلام عليكم

الحقيقة أنها مشكلة غريبه بالفعل لكن ربما السبب أن الخاصية Pages لا يتم تحديثها إلا عندما تسند قيمتها إلى مربع نص أو متغير ما

المشكلة أننا لا ندري آلية العمل في التقارير وكما تعلم فإنك استطعت التغلب على المشكلة السابقة حين عرفت هذه الآلية

قبل حوالي شهر كنت أحاول تنفيذ فرز للبيانات في التقرير بعد عرضه للمعاينة ومع أن هذه العملية سهلة إلا أن جهلي بآلية عمل أكسس في هذه الحالة جعلني أمكث حوالي يومين للتغلب على مشكلة ظهرت لدي وتبين لي بعد محاولات كثيرة أن أكسس في حقيقة الأمر يعيد فتح التقرير بعد كل عملية فرز ولذا فإن حدث عند الفتح يتم تنفيذه في كل مرة تعيد فيها فرز البيانات

تحياتي

#15

"حدث عند الفتح يتم تنفيذه في كل مرة تعيد فيها فرز البيانات"

فائدة كنت بحاجة إليها

جزاك الله خير

#16

اشكركم جميعا واخص بالشكر معلمى الاستاذ محمد طاهر نفع الله بعلمه جميع المسلمين

انه كود اكثر من رائع

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

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