تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport
#2
أخيراً نذكر بأن هذه التقارير تستقبل كمصدر لبياناتها كائن قاعدة بيانات 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 OLEDB atabase Password=" & PassWord


"


يمكنك زيارة msdn للعثور على كيفية تكوين Connection String على هذا الرابط :
http://msdn.microsoft.com/library/de...onnections.asp
حيث يشرح القسم الذي يشير هذا الرابط إلى أحد أقسامه إلى كيفية بناء 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 - مدى الصفحات التي ستقوم بطباعتها ، إلى آخر ذلك من بارميترات هذه الوظيفة .



والآن سوف نطبق ما تعلمناه على طباعة شاشة عرض البضائع الرئيسي الموجودة في Frm_Show في البداية سوف نقوم بتكوين DataReport الخاص بنا ، وذلك بالشكل التالي - بعد اضافته من Add طبعاً - .



بالطبع ستكون عناوين الجدول في القسم Page Header لأننا نريد أن تظهر في بداية كل صفحة ، وسوف نقوم برسمها على هيئة Rpt_Labels ، ونضع المعلومات التالية كـ Caption لهذه العناصر .



رقم - اسم البضاعة - اسم المصنع - النوع - السعر - الكمية - وحدة/صندوق .



أي 7 من RptLabel .



وهذا القسم ثابت تماماً ... أما القسم الآخر فهو الذي يعتمد على القراءة من قاعدة البيانات .



سنرسم فيه على نفس العدد RptTextBox ، لكننا لن نضبط خاصية Caption بل إننا سنضبط خاصية Data Field ، وسنضع فيها الحقل مصدر البيانات ، وذلك على النحو التالي - بالترتيب .



tb_product.number - tb_product.name - tb_factory.name - tb_category.name - Price - Count - Box_Count



لاحظ أن الحقول التي لا تتشابه في الجداول توضع كما هي مباشرة ، أما المتشابهه فنسبقها باسم الجدول .



لاحقاً قم بضبط Font كما يحلو لك ، واجعل اللون للصف العلوي مثلاً مختلف عن الآخرين ، أو كما تريد .



قم باضافة ( بسم الله الرحمن الرحيم ) في اول صفحة ، ولا تنس إن اضفتها ألا تقوم بالقاء الورقة التي تطبعها . بامكانك أيضاً المحاذاة إلى اليمن أو اليسار ، أو توسيط النص في أي أداة .


يتبع ...


}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport - بواسطة Raggi Tech - 15-10-12, 08:41 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 13,811 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 4,306 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 4,340 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 5,304 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 4,189 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar RaggiTech 0 3,882 15-10-12, 08:57 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 5,768 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 4,729 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 4,039 15-10-12, 08:37 AM
آخر رد: RaggiTech
  الدرس الرابع والعشرون - تقارير المصانع والأنواع RaggiTech 0 3,740 15-10-12, 08:36 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم