TareqVB كتب:الدرس الخامس
سنتعرف في هذا الدرس على كتابة القليل من الكود للتجم بالتقرير
بداية عند تشغيل التقرير تنطلق عدة احداث
فاول حدث قعلي ينطلق هو
ActiveReport_ReportStart
وهذا الحدث مثل form_load في الفورم
بداخل هذا الحدث يمكن وضع كود الربط مع قاعدة البيانات او عناوين للحقول او عنوان للتقرير وغيرها من الاشياء
وفي هذا الحدث يمكن الوصول الى جميع الادوات الموجودة في التقرير ويمكن التغيير عليها
وفي نهاية التقرير ينطلق الحدث
ActiveReport_ReportEnd
وهو مثل حدث form_unload
بعد ذلك ينطلق حدث لكل قسم تم تعريفه في التقرير مثل ال
detail,PageHeader,reportFooter...
في هذه الاحداث لا ينصح بالوصول للادوات التي خارج قسم هذا الحدث فمثلا اذا كانت اداة موجودة داخل قسم Detail
الافضل فقط استخدامها من داخل احداث ال detail مثل detail_format
الآن سنكتب بعض الكود للتحكم بقاعدة البيانات
سنضع هذا الكود في
Private Sub ActiveReport_ReportStart()
Dim CnStr As String
'نعرف بيانات الاتصال في قاعدة البيانات كما في اداة الآدو
CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\3lamat.mdb;Persist Security Info=False"
'يمكن وضع هذا الاتصال مباشرة كما يلي
dcRptData.ConnectionString = CnStr
'dcRptData هي اداة الآدو على التقرير
'او يمكن وضع الاتصال جاهز فقد يكون هذا الاتصال مستخدم من قبل في البرنامج
Dim cn As ADODB.Connection
Set cn = New Connection
cn.Open CnStr
dcRptData.Connection = cn 'او اي اتصال مفتوح من قبل
'ويمكن ايضا وضع مصدر بيانات جاهز فقد تكون من قبل قد فتحت مصدر بيانات للجريد
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sSql As String
sSql = "SELECT Classes.classid, Classes.className, students.* FROM students " & _
"INNER JOIN Classes ON students.class = Classes.classid " & _
"order by Classes.classid"
rs.Open sSql, cn
Set dcRptData.Recordset = rs
ويمكن وضع قيمة لاي اداة في التقرير مثل اذا وجدت اداة في التقرير للعنوان نضع
lable1= "عنوان جديد للتقرير"
ويمكن تعيين هذه الخصائص من حارج التقرير مثلا
activereport1.dcRptData.connection= cn
وباختصار تكون اي اداة في التقرير مثل اي اداة في الفيجوال بيسك يمكن طلبها باسمها مباشرة وتعيين خصائصها مباشرة
تحياتي لكم
ملحوظة: إنقر هنا لتحميل المحرر كي تتمكن من كتابة رد سريع.
مشكور اخي بارك الله فيك
كيف يمكنني تمرير محتوي اداة text الي تقرير اكتف ريبورت
