دائما ما نحتاج إلى استخدام دوال في التقرير وقت التنفيذ منها إيجاد اكبر رقم في حقل معين أو جمع عناصر العمود وترتيب نصوص وغيرها من الدوال الجاهزة التي قد نحتاجها وقد نحتاج إلى دوال نحن نكونها داخل التقارير
تكتب هذه الدوال في تبويبCode داخل التقرير الذي نصل إليه عن طريق اختيار قائمة Report
هنال نوعين من الدوال التي نستطيع استخدامها داخل التقرير :
1. دوال جاهزة نستطيع الوصول اليها عن طريق اي خاصية وضغط على expression وا ختيارCategory ثم common Function استخدام الدوال الموجودة في داخله علما هوا يعطيك مثال على استخدام اي دالة عن الضغط عليها
2. قد نحتاج إلى دوال نستخدمها داخل التقرير وتؤدي مهام معينة غير تلك الدوال الجاهزة مع التقرير هذه الدوال نحن نكونها بأنفسنا ونضيفها إلى التقرير لكي يتمكن التقرير من استخدامها مثلا نحتاج دالة لمعرفة هل العدد في الحقل أولي أم لا وغيرها من الدوال التي قد نحتاجها وتكون طريقة استخدام وكتابة الدوال بشكلين
دوال مضافة داخل التقرير:
ثم Report properties ثم تبويب Code
وتستدعى الدوال المكتوبة داخل Code من داخل إي خاصية لأي دائن داخل التقرير بضغط على خاصيه واختيار expression وكتابة التالي
Code.FunctionName=
مثال: نريد كتابة دالة تقوم بمعرفة هل العدد في الحقل أولي أم لا وعرض في داخل الحقل في التقرير بشكل التالي اسم الحقل وبعدها نوعه هل هو أولي أم لا
خطوات العمل
1.نقوم باختيار قائمة Report ثم Report properties ثم تبويب Code ونكتب دالة إيجاد العدد الاولي
كما نرى هذه الدالة تستقبل قيمة الحقل وتعيد قيمته مع نوعه هل أولي أم لا
1.نستدعي الدالة ابت كوناها من خاصية value بعد أن نرسل لها محتويات الحقل بشكل التالي
((Code.primenumber(val(Fields!depart.Value=
سترى انه سيطبع لك الشكل التالي مثلا إذا كان محتويات الحقل 32 سيطبع
23is prime
دوال مضافة عن طريق تكوين ملف DLL:
خطوات العمل
1. تكتب الدوال داخل ملف DLL نكونه بطريقة التالية نفتح مشروع جديد بأي لغة ونختار Class Library ونكتب الدوال التي نحتاجها في داخله ونضغط Build لتحويل Class الى ملف DLL
من داخل التقرير نفتح تبويب References الذي نصل إليه عن طريق اختيار قائمة Report ثم
ثمReport properties تبويب
ثم References
نضيف ملف DLL الذي كوناه عن طريق ضغط على (...) ثم اختيار تبويب Brouse وجلب الملف
2.لكي نستخدم الدوال الموجودة داخل ملف DLL من داخل التقرير نصل إليه بطريقة التالية
ClassLibraryName.ClassName.FunctionName =
ليست هناك تعليقات:
إرسال تعليق