تعلم إنشاء التقارير باستخدام DataReport
صفحة 1 من اصل 1 • شاطر
تعلم إنشاء التقارير باستخدام DataReport
كاتب المقال أحمد جمال
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
ما هي الداتا ريبورت DataReport
هي إحدى نماذج العرض المرفقة افترضياً مع الفيجوال بيسك ، وهي مصممة لطباعة التقارير والجداول من قواعد البيانات ، وهي تستقبل جملة استعلام أو اسم جدول لكي تقوم بطباعته . وهناك نماذج أو أدوات أخرى في هذا المجال من أشهرها الكريستال ريبورت وهو أكثر احترافية من الداتا ريبورت ولكنه ليس موجود افتراضياً مع مكتبات فيجوال بيسك ،
وسوف نتعرف في هذا الدرس على كيفية التعامل مع DataReport بطريقتين وذلك على النحو التالى :
الطريقة الاولى : أنشاء تقارير DataReport بالشفرة
لنضيف DataRreport فإننا ومن خلال النقر بزر الماوس الايمن على الفورم سوف تظهر لنا Add ، ونختار منها DataReport . او عن طريق قائمة project
نلاحظ أن الصفحة التي ظهرت لنا مقسمة إلى خمسة اقسام :
والآن سوف تجد على يمين الشاشة مربع أدوات تحكم Control Box غير المعتاد في شاشات فيجوال بيسك التقليدية تحت تبويب Tab باسم DataReport ، وتحتوي على الأدوات التالية - من اليسار - :
وللبدء في التعامل مع البيانات من خلال زر عرض التقرير .
أولاً : للتحكم في الخصائص الثابتة .
مثل بيانات Rptlable ، الألوان وغير ذلك .
قم أولاً بوصف اسم DataReport ، ثم اسم القسم ، ثم اسم الاداة بالشكل التالي :
ويمكن بنفس الطريقة التحكم بالالوان وما شابه ذلك .
القسم الثاني : كيفية ربط ال RptTextBox بقاعدة البيانات .
خلال مرحلة التصميم احرص على ضبط الخواص التالية :
DataMember و DataFields لتحديد اسم قاعدة البيانات ( كائن قاعدة البيانات أو اداتها ) ، و اسم الحقل المطلوب عرضه في هذا المكان .
ويمكن ضبطهما وقت التصميم أو التنفيذ ، ففي وقت التصميم وفي حقل DataFields يمكنك كتابة اسم الحقل مثل fullname ، في حين قم مثلاً بتنفيذ أمر تحديد مصدر البيانات وقت التنفيذ بالشكل التالي :
وهذا ما سنقوم بتوضيحه عند البدء في العمل مع الداتا ريبورت في برنامجنا .
القسم الثالث : كيفية استخدامRptLable لعرض بعض العمليات .
يتم ذلك بوضع القيمة المناسبة في خاصية Caption لهذه الأداة ، فمثلاً لو قمنا بكتابة %D فإن ذلك يعطينا تاريخ اليوم ، %T تعطينا الوقت ، %P تعطينا عدد الصفحات الاجمالي ، أما %p فتعطينا رقم الصفحة الحالية .
القسم الرابع : كيفية استخدام RptFunction
من خلال الخاصية FucntionType نختار طبيعة العملية التي نود القيام بها ، وذلك بعض ضبط خصائص قاعدة البيانات الخاصة بها كما اسلفنا في RptText ، ولن نستخدم هذه الاداة في برنامجنا .
نود ان نذكر بأن هذه التقارير تستقبل كمصدر لبياناتها كائن قاعدة بيانات مثل Ado ،لذلك لا بد من تعريف هذه الكائنات أولاً وذلك بالشكل التالي :
1- من قائمة Project ثم Refrences قم باختيار مكتبة للأدو مثل :
Microsoft Access ActiveX Data Object 2.5 Library
2 - في أمر او زر الطباعة لا بد من تعريف نسخة من كائن قاعدة البيانات من Ado ونسخة من جدول ومن ثم القيام بعملية التكوين لكليهما بالشكل التالي :
3 - والآن قم بربط قاعدة البيانات بمصدر قاعدة البيانات من نوع أكسيس مثلاً على سبيل المثال من خلال Connection String بالشكل التالي :
يمكنك زيارة msdn للعثور على كيفية تكوين Connection String على هذا الرابط :
حيث يشرح القسم الذي يشير هذا الرابط إلى أحد أقسامه إلى كيفية بناء Connection String ، كما ويحيلك في آخره إلى أمثله بالكود ال Language Refernce او تابع معنا في منتديات اوتما وستجد اننا سنغطي هذا الجزء بإذنه تعالى
4 - الخطوة الاخيرة هي تحديد مصدر البيانات وربطه ب rs ومن ثم ربط rs مع DataReport ، ولا تنس ان مصدر البيانات قد يكون اسماً لجدول أو جملة استعلام :
5 - لا تنس أمر اظهار التقرير :
6 - كما يمكنك طباعة التقرير دون عرضه من خلال الأمر :
ويمكنك اضافة بعض البارميترات الاضافية مثل True في البارميتر الأول لعرض مربع حوار طباعة قبل الطباعة لتحديد عدد النسخ وما شابه :
أو تحديد Range - مدى الصفحات التي ستقوم بطباعتها ، إلى آخر ذلك من بارميترات هذه الوظيفة .ولمن يملك حزمة service Pack 6
يمكنك الطباعة بالعرض بإستخدام هذا الكود فقط
والطباعة بالشكل العمودي نستخدم هذا الكود
ولمن لا يملك الحزمة SP6 يستطيع تحميلها من هنا
هي إحدى نماذج العرض المرفقة افترضياً مع الفيجوال بيسك ، وهي مصممة لطباعة التقارير والجداول من قواعد البيانات ، وهي تستقبل جملة استعلام أو اسم جدول لكي تقوم بطباعته . وهناك نماذج أو أدوات أخرى في هذا المجال من أشهرها الكريستال ريبورت وهو أكثر احترافية من الداتا ريبورت ولكنه ليس موجود افتراضياً مع مكتبات فيجوال بيسك ،
وسوف نتعرف في هذا الدرس على كيفية التعامل مع DataReport بطريقتين وذلك على النحو التالى :
الطريقة الاولى : أنشاء تقارير DataReport بالشفرة
لنضيف DataRreport فإننا ومن خلال النقر بزر الماوس الايمن على الفورم سوف تظهر لنا Add ، ونختار منها DataReport . او عن طريق قائمة project
نلاحظ أن الصفحة التي ظهرت لنا مقسمة إلى خمسة اقسام :
- Report Header : البيانات التي تظهر فقط مع أول صفحة في التقرير .
- Page Header : البيانات التي تظهر على رأس كل صفحة .
- Detailes : محتويات التقرير ، ويمكن ان تعرض على اكثر من صفحة .
- Page Footer : ما يظهر مع كل آخر صفحة .
- Report Footer : بيانات تظهر في آخر صفحة في التقرير فقط .
والآن سوف تجد على يمين الشاشة مربع أدوات تحكم Control Box غير المعتاد في شاشات فيجوال بيسك التقليدية تحت تبويب Tab باسم DataReport ، وتحتوي على الأدوات التالية - من اليسار - :
- Pointer: وهو مؤشر السهم المعروف في الفيجوال بيسك . ويستخدم للتحديد وغيره مما لا يلزمنا شرحه .
- RptLabel هو مجرد أداة لعرض النصوص التي لا تعتمد على قاعدة البيانات ، يمكن تغيير محتواها فقط بواسطة الكود قبل العرض مثلاً ، وتستخدم لوضع العنوان مثلاً وما شابه .
- RptText : هذا النوع مخصص للارتباط بحقل معين في قاعدة البيانات ، ويستخدم لوضع بيانات العملاء على سبيل المثال ، وسوف نتعرف لاحقاً على كيفية القيام بذلك .
- RptImage: لوضع صورة في التقرير . يمكن ضبطها أيضاً وقت التصميم باستخدام LoadPicture المعروفة .
- RptLine: خط لتنسيق طباعة التقرير .
- RptShape: أيضاً مثل ال Line السابق .
- RptFunction: تستخدم لعرض بعض العمليات التي قد نحتاج إليها لاحقاً ، وسنرى أمثلة عن ذلك لاحقاً .
وللبدء في التعامل مع البيانات من خلال زر عرض التقرير .
أولاً : للتحكم في الخصائص الثابتة .
مثل بيانات Rptlable ، الألوان وغير ذلك .
قم أولاً بوصف اسم DataReport ، ثم اسم القسم ، ثم اسم الاداة بالشكل التالي :
- الكود:
DataReport2.Sections("Section2").Controls("l1").Ca ption = Lbl_name
ويمكن بنفس الطريقة التحكم بالالوان وما شابه ذلك .
القسم الثاني : كيفية ربط ال RptTextBox بقاعدة البيانات .
خلال مرحلة التصميم احرص على ضبط الخواص التالية :
DataMember و DataFields لتحديد اسم قاعدة البيانات ( كائن قاعدة البيانات أو اداتها ) ، و اسم الحقل المطلوب عرضه في هذا المكان .
- الكود:
Set DataReport1.DataSource = Rs
وهذا ما سنقوم بتوضيحه عند البدء في العمل مع الداتا ريبورت في برنامجنا .
القسم الثالث : كيفية استخدامRptLable لعرض بعض العمليات .
يتم ذلك بوضع القيمة المناسبة في خاصية Caption لهذه الأداة ، فمثلاً لو قمنا بكتابة %D فإن ذلك يعطينا تاريخ اليوم ، %T تعطينا الوقت ، %P تعطينا عدد الصفحات الاجمالي ، أما %p فتعطينا رقم الصفحة الحالية .
القسم الرابع : كيفية استخدام RptFunction
من خلال الخاصية FucntionType نختار طبيعة العملية التي نود القيام بها ، وذلك بعض ضبط خصائص قاعدة البيانات الخاصة بها كما اسلفنا في RptText ، ولن نستخدم هذه الاداة في برنامجنا .
نود ان نذكر بأن هذه التقارير تستقبل كمصدر لبياناتها كائن قاعدة بيانات مثل Ado ،لذلك لا بد من تعريف هذه الكائنات أولاً وذلك بالشكل التالي :
1- من قائمة Project ثم Refrences قم باختيار مكتبة للأدو مثل :
Microsoft Access ActiveX Data Object 2.5 Library
2 - في أمر او زر الطباعة لا بد من تعريف نسخة من كائن قاعدة البيانات من Ado ونسخة من جدول ومن ثم القيام بعملية التكوين لكليهما بالشكل التالي :
- الكود:
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
3 - والآن قم بربط قاعدة البيانات بمصدر قاعدة البيانات من نوع أكسيس مثلاً على سبيل المثال من خلال Connection String بالشكل التالي :
- الكود:
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Folder & "db1.mdb;" & "Jet OLEDBatabase Password=" & PassWord"
يمكنك زيارة msdn للعثور على كيفية تكوين Connection String على هذا الرابط :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
حيث يشرح القسم الذي يشير هذا الرابط إلى أحد أقسامه إلى كيفية بناء Connection String ، كما ويحيلك في آخره إلى أمثله بالكود ال Language Refernce او تابع معنا في منتديات اوتما وستجد اننا سنغطي هذا الجزء بإذنه تعالى
4 - الخطوة الاخيرة هي تحديد مصدر البيانات وربطه ب rs ومن ثم ربط rs مع DataReport ، ولا تنس ان مصدر البيانات قد يكون اسماً لجدول أو جملة استعلام :
- الكود:
sql = "select * from table1"
Set Rs = cn.Execute(sql)
Set DataReport1.DataSource = Rs
5 - لا تنس أمر اظهار التقرير :
- الكود:
DataReport1.Show
6 - كما يمكنك طباعة التقرير دون عرضه من خلال الأمر :
- الكود:
DataReport1.PrintReport
ويمكنك اضافة بعض البارميترات الاضافية مثل True في البارميتر الأول لعرض مربع حوار طباعة قبل الطباعة لتحديد عدد النسخ وما شابه :
- الكود:
DataReport2.PrintReport True
أو تحديد Range - مدى الصفحات التي ستقوم بطباعتها ، إلى آخر ذلك من بارميترات هذه الوظيفة .ولمن يملك حزمة service Pack 6
يمكنك الطباعة بالعرض بإستخدام هذا الكود فقط
- الكود:
DataReport11.Orientation = rptOrientLandscape
والطباعة بالشكل العمودي نستخدم هذا الكود
- الكود:
DataReport11.Orientation = rptOrientPortrait
ولمن لا يملك الحزمة SP6 يستطيع تحميلها من هنا
الطريقة الثانية :أنشاء تقارير DataReport باستخدام Data Environment
ما تم ذكره سابقا كان بطريقة كتابة الشفرة ... ويمكننا الاستفادة من نفس الادارة DataReport بدون كتابة ولا كود ويتم ذلك عن طريقة امكانيات ,Data Environment كمــا يلــي :
أولا:اضافة استدعاء الاداة من قائمة project
ثانيا : اضافة هذه المكتبة
ثالثا انشاء قاعدة بيانات واتمام عملية الاتصال بها عبر المعالج كما يلي ويمكنك مراجعة بعض الدروس الموجودة هنا في هذه العملية
رابعا ستظهر لك جداول القاعدة كما يلي حدد منها ما تريد
خامسا قم بتحديد الحقول التي تريد اظهارها
سادسا ابدء برسم الحقول على اداة التقارير
سابعا : حدد مصدر البيانات :
مع بعض التنسيقات والخطوط يصبح التقرير جاهزً
عدل سابقا من قبل السنى في السبت مايو 14, 2016 5:33 pm عدل 2 مرات
السنى- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 249
النقاط : 464
التقيم : 25
الجنس :
رد: تعلم إنشاء التقارير باستخدام DataReport
أشكرك على جهدك يا سنى
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم إنشاء التقارير باستخدام DataReport
تسلم يدك اشكرك
جمعه- ..
- تاريخ التسجيل : 19/05/2015
المساهمات : 12
النقاط : 16
التقيم : 0
الدولة :
الجنس :
رد على تعلم إنشاء التقارير
السلام عليكم ورحمة الله
مشكور أخي السنى على المعلومات النيرة وبالمناسبة عندي مشكلة في datareport
وهو هل يمكنني ان أغير قيمة التيكست الموجود في رأس التقرير من خلال form دون
فتح datareport في كل مرة جزاك الله كل خير
مشكور أخي السنى على المعلومات النيرة وبالمناسبة عندي مشكلة في datareport
وهو هل يمكنني ان أغير قيمة التيكست الموجود في رأس التقرير من خلال form دون
فتح datareport في كل مرة جزاك الله كل خير
Araby- ..
- تاريخ التسجيل : 16/03/2016
المساهمات : 22
النقاط : 50
التقيم : 0
الدولة :
الجنس :
رد: تعلم إنشاء التقارير باستخدام DataReport
Araby كتب:السلام عليكم ورحمة الله
مشكور أخي السنى على المعلومات النيرة وبالمناسبة عندي مشكلة في datareport
وهو هل يمكنني ان أغير قيمة التيكست الموجود في رأس التقرير من خلال form دون
فتح datareport في كل مرة جزاك الله كل خير
نعم يمكنك فعل ذلك با استخدام الكود التالى :
- الكود:
DataReport1.Sections("Section4").Controls("Label1").Caption = Text1.Text
حيث أن Label1 هو العنصر الذى سيقوم بعرض اسم للتقرير من خلال text1 اللى فى الفورم
السنى- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 249
النقاط : 464
التقيم : 25
الجنس :
تصميم التقارير
السلام عليكم ورحمة الله وتحية خاصة للأخ السنى
أريدإدخال رقم بالتتابع لعدد السجلات في التقرير مثلا من 1 إلى 40
كما نعمل في عدد الصفحات %P هل من الممكن في الأرقام المتتابعة فعل ذالك
جزاكم الله كل خير
أريدإدخال رقم بالتتابع لعدد السجلات في التقرير مثلا من 1 إلى 40
كما نعمل في عدد الصفحات %P هل من الممكن في الأرقام المتتابعة فعل ذالك
جزاكم الله كل خير
Araby- ..
- تاريخ التسجيل : 16/03/2016
المساهمات : 22
النقاط : 50
التقيم : 0
الدولة :
الجنس :
رد: تعلم إنشاء التقارير باستخدام DataReport
I can't download this file,please
Nashat Easa- .
- تاريخ التسجيل : 03/05/2016
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة :
الجنس :
رد: تعلم إنشاء التقارير باستخدام DataReport
الاخ الكريم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تابع هذا المقال جيدا
م/موسي- الاشراف
- تاريخ التسجيل : 18/02/2011
المساهمات : 178
النقاط : 346
التقيم : 12
الدولة :
الجنس :
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft