اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

فتح التقرير علي سجل محدد + تقرير تجميع


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

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

اختار موظف ثم اضغط علي زر فتح النموذج أو التقرير للموظف المحدد

أيضا يوجد مثال علي عمل تجميع للتقرير للدورات التي حصل عليها كل موظف علي حدة خاصية Sorting and grouping من وضع تصميم التقرير

و استخدام الدالة count لعد دورات كل موظف

و ايضا عمل مسلسل للتقرير عن طريق وضع =1 فى مصدر البيانات لمربع نص و اختيار خاصية Runnig Sum - Overall

مرفق المثال

OpenSpecific.rar

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

سنتحدث هنا عن فتح التقرير بالكود

سواء لكامل السجلات أو لسجل محدد

و أيضا سنتحث عن خاصيتي تجميع النقرير و عمل فواصل للصفحات

أولا فتح التقرير من نموذج بالكود

سواء لكامل السجلات أو لسجل محدد

بالنسبة لأمر

Docmd.openreport

له أربعة معاملات

arguments

نختار منها ما نريد و نترك ما نريد ليأخذ قيمته الافتراضية

الجزء الأول

هواسم النموذج المراد فتحه و نكتبه بين

""

فيكون الحد الادني للجملة مثلا هو

docmd.openForm "Report1"
و اذا بدأنا نكتب فى الفيجوال بيزيك فسيساعدنا ليذكرنا بمكونات كل جزء بعد كتابة الفاصلة التي تفصل بين الاجزاء المختلفة للجملة. جرب كتابة الجملة السابقة ، و اكتب فاصلة بعدها و انظر ماذا سيحدث.. الجزء الثاني هو طريقة عرض النموذج بعد فتحه هل فى وضع العرض العادي ، مشاهدة الطباعة أم وضع الطباعة الباشرة و هو الافتراضي الجزء الثالث هو اسم فلتر معد مسبقا علي هيئة استعلام ، علي أن يحوي الاستعلام علي الحقول الموجودة فى النموذج الجزء الرابع الشرط و يكون علي هيئة [fieldname] = Forms![formname]![controlname on other form] و هو الجزء الذي استخدمناه فى المثال السابق بان رقم الموظف = رقم الموظف الموجود فى مربع النص فى النموذج و فى المثال عندما أردنا فتح النموذج بكامل سجلاته اختر خصائص الزر و من صفحة الاحداث ، اختر حدث عند النقر لتشاهد الكود و هو
    Dim stDocName As String
    stDocName = "RepEmpCourses-noGroup"
    DoCmd.OpenReport stDocName, acPreview
و هي طريقة منظمة يستخدمها المعالج لاستخدام المتغيرات داخل الجملة كخطوة وسيطة و الكود السابق يناظر
    
    DoCmd.OpenReport "RepEmpCourses-noGroup"
و لفتح التقرير علي موظف محدد
    
    Dim stDocName As String
    stLinkCriteria = "[EmpID]=" & Me![EmpID]
    stDocName = "RepEmpCourses-noGroup"
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
اي انها تناظر
 
 DoCmd.OpenReport "RepEmpCourses-noGroup", , , "[EmpID]=" & Me![EmpID]
هذا حال كون حقل EmpID رقمي اما اذا كان نص فنضيف علامتي '' الي الجملة ، فتصبح
DoCmd.OpenReport "RepEmpCourses-noGroup", , , "[EmpID]='" & Me![EmpID] & "'"

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

ثانياً : الجزء الثاني فى المثال و هو الخاص بتجميع البيانات

ما الفرق بين التقريرين الموجودان فى المثال

التقرير الاول الذي يعرض بيانات الموظفين نجده يعرض كل البيانات

من زر " التقرير للجميع"

و هذا التقرير نجد فيه أنه لعرض بيانات الموظف و معها تاريخ ميلاده و رقمه بالاضافة الي الدورات التي حصل عليها

سنجد تكرار لا دعي له للاسم و الرقم وتاريخ الميلاد بجانب كل دورة

لذا فمن المناسب عمل تجميع لبيانات الموظف أولا ، ويليها عرض للدورات

و هذا سيمكننا أيضا من عمل احصائيات علي البيانات مثل عد عدد الدورات التي حصل عليها كل موظف

و لكن كيف نقوم بعملية التجميع

من وضع تصميم التقرير

نضغط علي ايقونة التجميع

المهشرة باللون اللبني فى الصورة التالية

R01.jpg

فتظهر لنا شاشة الترتيب و التجميع

و منها يمكن اختيار الترتيب فقط

أو الترتيب و عمل رأس للمجموعة و/أو ذيل للمجموعة

و هنا في المثال اخترنا عمل الترتيب برقم الموظف

ثم التجميع باسم الموظف

و طبعا التجميع بالرقم أفضل لانه رقم من ناحية و لامكانية تشابه الاسماء من ناحية

و لكن هذا لغرض المثال فقط

و نختار من الجزء الأسفل اظهار الرأس أو التذييل من عدمه

Group Header

Group Footer

و هنا اخترنا اظهار الرأس فقط

فتظهر لنا مجموعة اسمها رأس اسم الموظف

Emp Name Header

و فيها نسحب الكائنات المراد تكرارها فى رأس المجموعة كما فى المثال

و من خصائص رأس المجموعة أو تذييلها يمكن تحديد اختيار بدء صفحة جديدة من عدمه

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

ثالثا : لاظهار صفحة جديدة فى التقرير توجد طريقتان

اما أن نظهرها بناء علي كونها قبل أو بعد رأس أو تذييل مجموعة من مجموعات التقرير

من وضع تصميم التقرير

اختار رأس أو تذييل أي مجموعة

ثم من خصائص الرأس أو التذييل ( اختر الرأس أو التذييل ، ثم ايقونة الخصائص ، او اضغط f4 )

ثم من قائمة Format

Force New Page

و اختر After Selection

او Before Selection بحسب الحالة

و الطريقة الأخري هي ادراج كائن فاصل الصفحات

من وضع التصميم

من صندوق الادوات

إختر فاصل الصفحة Page BReak

و هو ايقونة علي شكل مستطيلان مفصولان

الايقونة رقم 15 فى الشكل التالي :

R02.jpg

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

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

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