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

طباعة التقارير بدءا من آخر تقرير تلقائيا؟

مغلق
بدأه biskra في 27 مارس 2004 · 11 رد · 2,433 مشاهدة · في قسم أرشيف التقارير والتقارير الفرعية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بحثت في عدة منتديات عن كود يقوم بالعملية أي أن الطباعة تبدأ تلقائيا بدءا من آخر سجل تمت طباعته, أي طباعة السجلات الجديدة التي لم يسبق طباعتها.

وجدت بعض الأكواد و حاولت استعمالها لكن لم أصل الى نتيجة

الكود هو كالتالي

DoCmd.OpenReport "Reportname", acViewNormal, WhereCondition := "Printed=False And RecordDate=#" & Date() & "#" ' force it to print on the printer

DoCmd.SetWarnings False

DoCmd.RunSQL "Update table set printed=true where Printed=false and RecordDate=#" & Date() & "#"

DoCmd.SetWarnings True

#2

ضع في الجدول حقلاً نوع بياناته (نعم/لا)

نعم : تمت طباعته

لا : لم يطبع

فلنفترض الأتي :

اسم الجدول = tbl1

اسم حقل المفتاح الأساسي =ID1

اسم حقل نعم/لا = PrintYesNo

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

Dim strUpdateSQL as String

strUpdateSQL = " UpDate tbl1 SET PrintYesNo = " & True 
strUpdateSQL = strUpdateSQL & " Where ID1=" & Me.ID1
strUpdateSQL = strUpdateSQL & " AND PrintYesNo ="& False

DoCmd.SetWarnings fasle
DoCmd.RunSQL strUpdateSQL
#3

أستاذ فيصل لك مني جزيل الشكر و أسأل الله أن يضاعف حسناتك.

قبل أن أجرب ,عندي 5 تقارير مصدرها نفس الجدول هل يؤثر الكود على كل السجلات؟

#4

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

run-time error 2465

تعذر على microsoft access العثور على الحقل ID1 المشار اٍليه في التعبير الذي اٍستخدمته.

هل من حل؟

#5

أنا افترضت الآتي :

فلنفترض الأتي :

اسم الجدول = tbl1

اسم حقل المفتاح الأساسي =ID1

اسم حقل نعم/لا = PrintYesNo

وأنت غير الأسماء حسب ماهو موجود عندك .. وفي هذه الرسالة الخطأ .. هل لديك على النموذج حقل باسم ID1 إذا كان الجواب بلا ستخرج رسالة الخطأ

#6

شكرا أستاذ أحمد على تفاعلك مع الموضوع.

نعم قمت في الأول في تغيير الأسماء على الكود لتطابق مع الأسماء التي أستعملها و كانت تظهر دائما رسالة الخطأ, ثم اْثر غيرت الأسماء على مستوى القاعدة, اسم الجدول , الحقل مصدر البيانات للتقرير و كانت نفس النتيجة.

و مع ذلك سوف أحاول ثانية.

مشكور و أسأل الله أن يضاعف حسناتك.

#7

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

#8

أستاذ أحمد أضع الملف لمعاينة الخطأ و المساعدة على الحل.

Copy_of__________________.rar

#9

للرفع

#10

الاخ العزيز biskra

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

بعد إذن المشرف احمد الحربي ساحاول تقديم حلاً لمشكلتك

اولاً اخي العزيز انت جعلت مصدر السجل للتقرير هو جدولtab1 قم بعمل استعلام واجعل مصدر السجل للتقرير هو هذا الاستعلام وليس الجدول ولا تنسى اضافة حقل PrintYesNo وضع في المعيار الخاص بهذا الحق لا

ثانياً في حدث عند الاغلاق للتقرير ضع الكود التالي

Dim strUpdateSQL As String

strUpdateSQL = " UpDate tbl1 SET PrintYesNo = " & True

DoCmd.SetWarnings fasle
DoCmd.RunSQL strUpdateSQL

والله الموفق ولا تنسانا من الدعاء

Copy_of__________________.zip

#11

أخي abobandur السلام عليك و رحمة الله .

أولا أرحب بك بيننا في هذا المنتدى العزيز علينا جميعا, ويشرفني أن تكون مشاركتك الأولى"أرجو أن تكون فاتحة للكثير من المشاركات" مع الموضوع الذي قمت بطرحه.

فعلا قمت بتنفيذ الطريقة التي شرحتها لي, و كانت النتيجة حسب المطلوب و لم تكن هناك حاجة لٍنشاء جدول اٍستعلام للطباعة.

فقط ظهرت مشكلة و تتمثل في أنه عند محاولة الطباعة أي عند اٍنهاء الطباعة و على فرض أنني أضغط ثانية على زر الطباعة فاٍن خطأا يظهر هل من توجيه للتعامل معه.

#12

أستاذ أحمد الحربي, أخي abobandur أشكركما سائلا الله أن يضاعف حسانتكما على تاعلكما مع الموضوع و بعد جهد كانت النتيجة حسب المطلوب و قد وجدت الحل للأخطاء التي كانت تظهر و ذلك بوضع كود في خاصية التقرير "عدم وجود البيانات"on no data و هو كالتاي:

Private Sub Report_NoData(Cancel As Integer)

MsgBox ("No records found for the specified date range")

Cancel = True

End Sub

و أضع المثال بعد التصحيح ليستفيد منه الاٍخوة ,لأنه حسب رأيي أحسن حل وجدته بعد بحث في أكبر المنتديات و الذي طرح فيه هذا السؤال أكثر من مرة و لم يصلوا الى نتيجة.

Copy_of__________________.rar

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

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

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

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

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

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