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

في التقرير:أريد أن تخريجلي رسالة في حالة ما إذا ..

مغلق
بدأه بو يوسف الراشد في 7 فبراير 2005 · 6 رد · 636 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،،،

أزعجتكم بكثرت أسألتي ولكن اعذروني لأني أقوم بعمل برنامج لعملي وأريد أن انتهي منه بسرعة..

سؤالي متعلق بالتقرير..

كما تعلمون أنه يتم طباعة تقرير للسجل الحالي في الفورم من خلال الكود التالي:

DoCmd.OpenReport "REPORTNAME", acViewPreview, , "[ID]=" & forms![Forname]![TXTBOXNAME]

في حال ما إذا كانت البيانات كثيرة في السجل الحالي فإنه يتم طباعة صفحتين أو أكثر على حسب البيانات

وما أريده هو أنه في حال ما إذا كانت البيانات للسجل الحالي أكثر من صفحة واحدة تخرجلي رسالة تقول:

"بيانات السجل كثيرة يرجى التقليل من البيانات ومن ثم معاودة الطباعة"

ثم يتم إلغاء عملية الطباعة

حاولت أن استخدم

MeCount

في الحدث "عند الفتح" في التقرير

حيث أني كتبت الكود بهذه الصورة:

If Me.Count >1 Then
MsgBox"بيانات السجل كثيرة يرجى التقليل من البيانات ومن ثم معاودة الطباعة"
Cancel = -1

لكن هذا الكود ينطبق على جميع السجلات وليس السجل الحالي..

أتمنى أن أجد الحل من أعزائي الأعضاء..

#2

جرب الكود التالي :

If Me.Pages >1 Then
MsgBox"بيانات السجل كثيرة يرجى التقليل من البيانات ومن ثم معاودة الطباعة"
Cancel = -1
#3

مشرفنا الغالي/biskra

لم تنفع العملية عند حدث "عند الفتح"

ولكن إذا طبقتها في التفصيل تنفع عند حدث "عند الطباعة"

لكن يخفيلي بيانات التفصيل فقط أما رأس التقرير وتبذيل الصفحة .... الخ يظل موجود

واشكرك على سرعة ردك...

#4

خلاص وجدت الحل...

:D :D :D :D :D :D :D :D :D :D

وضعت الكود الذي أعطيتني أياه يا مشرفنا الغالي... في الحدث "عند الصفحة" لكني غيرت آخر سطر

If Me.Pages >1 Then
MsgBox"بيانات السجل كثيرة يرجى التقليل من البيانات ومن ثم معاودة الطباعة"
Docmd.Close

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

وارجو أن تعطيني كيفية تعيين عدد الصفحات برجيا من غير وضع مربع نص في التقرير

الفضل لله ثم لك يا مشرفنا الغالي

biskra

الله يدخلك الجنة ويسعدك في الدنيا والآخرة

تم تعديل هذه المشاركة بواسطة بو يوسف الراشد في 8 فبراير 2005 في 11:39

#5

بارك الله فيكم جميعا ولكن لي ملاحظة وهي معروفة لديكم ولكن للمبتدء قد تسبب له مشكلة وهي انكم لم تكتبون في الكود END IF وهي ضرورية

ليصبح الكود بعد التصحيح

If Me.Pages >1 Then
MsgBox"بيانات السجل كثيرة يرجى التقليل من البيانات ومن ثم معاودة الطباعة"
Docmd.Close
End If

وشكرا

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

#6

عزيزي /المبرمج2003

أنا أعلم ذلك لكني نسيت أكتبها

#7

الملاحظة في محلها ما دام أن المبدأ أن الفائدة من السؤال و الجواب هي للجميع و ليست للسائل فقط.

مشكور اخي النبرمج على التوضيح و التصحيح.

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…