إستفتاء : ما رأيك في تقارير مايكروسوفت والشرح هل استفدت فعلاً ؟
موضوع تقارير مايكروسوفت مهم والشرح مميز
موضوع تقارير مايكروسوفت مهم والشرح عادي
لا تهمني تقارير مايكروسوفت
[عرض النتائج]
 
 
تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تقارير مايكروسوفت (Report Viewer)
#1
مرحبا أعضاء الموقع الذي جمعنا بغير ميعاد .....

اقدم لكم اليوم موضوع مهم جداً وهو التقارير ....

وأخص بالذكر تقارير مايكروسوفت (Report Viewer)

الموضوع اسهل من ما نتوقع ولكن انا توسعت في الشرح وكثرة الصور لتتضح الفكرة كامله ... 

لدينا عدد 2 جدول في قاعدة البيانات :

   

   

المثال كالتالي فورم 1 ،، عرض بيانات جدول واحد في القريد فيو :

   

عرض بيانات جدولين في القريد فيو :

   

حتى هنا أخذنا فكرة عن المثال ،، نأتي للمهم .

كود الفورم 1 :

كود :
Imports System.Data.OleDb

Public Class Form1

   Dim conn As New OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" & Application.StartupPath & "\db1.accdb")

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       'Dim dp As New OleDbDataAdapter("select * from ETable", conn)    ' one Table


       Dim dp As New OleDbDataAdapter("select ETable.EID, ETable.EName, ETable.EMobile, CTable.City from ETable, CTable where ETable.EID = CTable.C_EID", conn)   ' Two Table

       Dim dt As New DataTable

       dp.Fill(dt)

       DataGridView1.DataSource = dt
   End Sub


End Class



لا أريد التطرق لعملية الحفظ والتعديل والحذف ،،، فقط اردت توضيح التالي :

1- انشاء داتاسيت فارغة .
2- انشاء داتاتيبل داخل الداتاسيت وادراج الحقول في الداتا تيبل المراد إظهارها في الطباعة .
3- انشاء التقرير وادراج الحقول المراد إظهارها في الطباعة .
4- ربط التقرير بالكود مع الداتاسيت .

لإنشاء داتاسيت فارغة اتبع الصور :

   

   

   

   

   

لإنشاء تقرير اتبع الصور :

   



......... يتبع

بعد ادراج أداة التيبل على التقرير اتبع الصور :

   

لإدراج أعمدة أو حذف أعمدة على التيبل الموجود بالتقرير اتبع الصور :

   

الآن نبدأ في تصميم التقرير تابع الصور :

   

الآن نعمل بيانات حقل التسلسل ترقيم تلقائي للصفوف لأن في الأصل ليس من الداتاسيت تابع الصور :

   

   

الآن ادرج فورم 2 ،، وادرج عليها أداة عرض التقارير (ريبورت فيور) ،،،، بدون عمل أي شي .

   

كود الفورم 2 :

كود :
Imports System.Data.OleDb
Imports Microsoft.Reporting.WinForms

Public Class Form2

   Dim conn As New OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" & Application.StartupPath & "\db1.accdb")

   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

 Dim dp As New OleDbDataAdapter("select * from ETable", conn)    ' one Table
       
Dim dt As New DataTable

       dp.Fill(dt)


       Me.WindowState = FormWindowState.Maximized       'تكبير الفورم بالكود

       ReportViewer1.Reset()
       ReportViewer1.Dock = DockStyle.Fill      'جعل الريبورت فيور بكامل الفورم

       'لاحظ ريبورتس = اسم المشروع
       'ريبورت1 = اسم التقرير
       ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportS.Report1.rdlc"

     

       ''\\\'''DataSet1 dataset in report     Default Name
       Dim DataSource As New ReportDataSource("DataSet1", dt)

       ReportViewer1.LocalReport.DataSources.Clear()
       ReportViewer1.LocalReport.DataSources.Add(DataSource)

       ReportViewer1.RefreshReport()

       ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
       ReportViewer1.ZoomMode = ZoomMode.PageWidth

   End Sub
End Class

## ملاحظة مهمة لتنسيق الموضوع :

سقطت صورة بالسهو ..

بالتحديد بعد كلمة ....... يتبع 

وهي لإدراج أداة تيبل (جدول) على التقرير لعرض البيانات .

   

لاحظ مسميات الأدوات على الفورم :

   

بعد النقر على زر (Print All) لعرض جميع البيانات .

   


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

   

هذا شكل التقرير بعد التنسيق :

   

لتصدير التقرير للبرامج المعتادة :

   

حتى الآن انهينا أمور عديدة ،، والمتبقي تقريباً :

1- عرض سجل واحد فقط .
2- عرض بيانات جدولين أو أكثر في التقرير .
3- عرض البيانات متدرجة بألوان مثلاً :

صف ابيض
صف رمادي
صف ابيض
صف رمادي
............ وهكذا

4- وضع تاريخ ووقت الطباعة ورقم الصفحات على التقرير .

5- الطباعة المباشرة بدون عرض التقرير .


وإذا فاتني شي ما غطيته ابلغوني وتبشرون بالخير ....
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
#2
موضوع مفصل بامتياز، بارك الله فيك.

حاولت التصويت في الاستفتاء الموجود في أعلى الموضوع ولكن اتضح أنه ليس لدي صلاحية لذلك.
عموما أنا اخترت (موضوع تقارير مايكروسوفت مهم والشرح مميز)
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , wared , asemshahen5
#3
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي و أستاذي الكريم " حريف برمجة " على الموضوع الرّائع و المميّز و الشّرح الأروع
أوّل مرّة أجد شرحًا لهذه الأداة بهذه الطريقة و هذا الأسلوب و الصّور التّوضيحيّة
بالنسبة لي لم يسبق لي إستعمالها و لذلك سأقوم بالتجربة و إن كانت لي تساؤلات سأطرحها بعد إذنك
تم التّصويت للعنصر الأوّل
تحياتي و تشكراتي و تقييماتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: elgokr , wared , asemshahen5 , larbihamri
#4
جزاك الله خيرا كفيت و وفيت

شرح ممتاز
الرد }}}
تم الشكر بواسطة: elgokr , wared , asemshahen5
#5
(24-12-18, 11:16 AM)a.wagdi كتب : موضوع مفصل بامتياز، بارك الله فيك.

حاولت التصويت في الاستفتاء الموجود في أعلى الموضوع ولكن اتضح أنه ليس لدي صلاحية لذلك.
عموما أنا اخترت (موضوع تقارير مايكروسوفت مهم والشرح مميز)

ولا يهمك اخوي ،، الأهم وجودك معنا تفيد وتستفيد ،، بارك الله فيك .


(24-12-18, 01:41 PM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي و أستاذي الكريم " حريف برمجة " على الموضوع الرّائع و المميّز و الشّرح الأروع
أوّل مرّة أجد شرحًا لهذه الأداة بهذه الطريقة و هذا الأسلوب و الصّور التّوضيحيّة
بالنسبة لي لم يسبق لي إستعمالها و لذلك سأقوم بالتجربة و إن كانت لي تساؤلات سأطرحها بعد إذنك
تم التّصويت للعنصر الأوّل
تحياتي و تشكراتي و تقييماتي

بصراحه منذ فترة وانا لدي الجدية اشرح الأداة ووجدت لك تساؤولات عنها فقررت فوراً عمل الشرح .

تسلم اخي عبدالعزيز على ثناءك .


(24-12-18, 02:21 PM)Sajad كتب : جزاك الله خيرا كفيت و وفيت

شرح ممتاز

مرحبا أستاذ سجاد القدير الممتاز والله مرورك يالكريم .

جزاكم الله جميعاً خير ،، بالتوفيق للجميع

نكمل موضوعنا وهو :

1- عرض سجل واحد فقط .

تم عمل فقط زر واحد مسؤول عن طباعة سجل واحد و طباعة الكل كالتالي :


كود :
if TextBox1.Text = "" Then
Print All
Else
Print ID Only
End if


هذي فكرة الطباعة بزر واحد فقط .

   

   

كود الفورم 1 :

كود :
Imports System.Data.OleDb

Public Class Form1

   Dim conn As New OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" & Application.StartupPath & "\db1.accdb")

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       'Dim dp As New OleDbDataAdapter("select * from ETable", conn)    ' one Table


       Dim dp As New OleDbDataAdapter("select ETable.EID, ETable.EName, ETable.EMobile, CTable.City from ETable, CTable where ETable.EID = CTable.C_EID", conn)   ' Two Table

       Dim dt As New DataTable

       dp.Fill(dt)

       DataGridView1.DataSource = dt
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Form2.Show()
   End Sub
End Class


كود الفورم 2 :

كود :
Imports System.Data.OleDb
Imports Microsoft.Reporting.WinForms

Public Class Form2

   Dim conn As New OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" & Application.StartupPath & "\db1.accdb")

   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim dt As New DataTable
       'Dim dp As New OleDbDataAdapter("select * from ETable where EID=" & Form1.TextBox1.Text & " ", conn)    ' one Table
       If Form1.TextBox1.Text = "" Then
           Dim dp As New OleDbDataAdapter("select ETable.EID, ETable.EName, ETable.EMobile, CTable.City from ETable, CTable where ETable.EID = CTable.C_EID", conn) ' Two Table All Data
           dp.Fill(dt)
       Else
           Dim dp As New OleDbDataAdapter("select ETable.EID, ETable.EName, ETable.EMobile, CTable.City from ETable, CTable where
                   ETable.EID = CTable.C_EID and ETable.EID =" & Form1.TextBox1.Text & " ", conn)   ' Two Table Single Data BY EID
           dp.Fill(dt)
       End If
       Me.WindowState = FormWindowState.Maximized       'تكبير الفورم بالكود
       ReportViewer1.Reset()
       ReportViewer1.Dock = DockStyle.Fill      'جعل الريبورت فيور بكامل الفورم
       'لاحظ ريبورتس = اسم المشروع
       'ريبورت1 = اسم التقرير
       ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportS.Report1.rdlc"
       ''\\\'''DataSet1 dataset in report
       Dim DataSource As New ReportDataSource("DataSet1", dt)
       ReportViewer1.LocalReport.DataSources.Clear()
       ReportViewer1.LocalReport.DataSources.Add(DataSource)
       ReportViewer1.RefreshReport()
       ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
       ReportViewer1.ZoomMode = ZoomMode.PageWidth
   End Sub
End Class




2- عرض بيانات جدولين أو أكثر في التقرير .

   

بما انه تم تعديل الداتاتيبل داخل الداتاسيت لابد من تحديث الداتاسيت الخاصة بالتقرير لظهور الحقل الجديد كالتالي :

   

   

   

   


3- عرض البيانات متدرجة بألوان مثلاً :

صف ابيض
صف رمادي
صف ابيض
صف رمادي
............ وهكذا

   

كود التدرج اللوني لصفوف التقرير :

كود :
= IIF(RowNumber("DataSet1") Mod 2 = 0, "LightGrey", "Transparent")



4- وضع تاريخ ووقت الطباعة ورقم الصفحات على التقرير .

   

   

............يتبع

هذي خيارات مثل تاريخ الطباعة ،، اسم التقرير ،، ........... اكتشفوها بأنفسكم .

   

التدرج اللوني للصفوف :

   

يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
#6
بارك الله فيك
الرد }}}
تم الشكر بواسطة: elgokr , wared , asemshahen5 , asemshahen5
#7
(25-12-18, 12:16 PM)dell كتب : بارك الله فيك

جزاك الله خير اخي الفاضل ،، ولك بالمثل واكثر
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: اسامه الهرماوي , elgokr , wared , asemshahen5
#8
(25-12-18, 07:40 PM)حريف برمجة كتب :
(25-12-18, 12:16 PM)dell كتب : بارك الله فيك

جزاك الله خير اخي الفاضل ،، ولك بالمثل واكثر

طب اخواني لو عايز اعمل تقرير وانا اضع البيانات في تيكست معين وتظهر بعدها هذه البيانات في اداة الريبورت
ماذا افعل؟؟؟؟؟؟؟
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
تم الشكر بواسطة: elgokr , elgokr , wared , asemshahen5
#9
(28-12-18, 04:54 PM)اسامه الهرماوي كتب :
(25-12-18, 07:40 PM)حريف برمجة كتب :
(25-12-18, 12:16 PM)dell كتب : بارك الله فيك

جزاك الله خير اخي الفاضل ،، ولك بالمثل واكثر

طب اخواني لو عايز اعمل تقرير وانا اضع البيانات في تيكست معين وتظهر بعدها هذه البيانات في اداة الريبورت
ماذا افعل؟؟؟؟؟؟؟

الطلب غير واضح !

كيف تضع بيانات في تكست معين وتظهر بعدها في الريبورت ؟

هل تقصد بدون قاعدة بيانات مثلاً ؟
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
#10
بارك الله فيك وزادك من فضله
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Video [درس فيديو] حل مشكلة تغيير مسار قاعدة البيانات مع تقارير كريستال ريبورت رمضان272 0 1,681 23-04-22, 05:56 AM
آخر رد: رمضان272
Video [درس فيديو] تقارير الكريستال ريبورت وتغيير مسار الصور أثناء التشغيل رمضان272 0 1,607 28-03-22, 03:18 AM
آخر رد: رمضان272
  [مقال] إضافة تقارير Crystal report إلى فيجوال 2010 اسامه الهرماوي 3 5,304 05-10-21, 01:38 PM
آخر رد: mohameddahab867
  طباعة تقارير Report Viewer مباشرة علي سالم 0 3,212 02-05-20, 08:45 PM
آخر رد: علي سالم
  [مثال] تشغيل تقارير الريبورت فيو rdlc report, ReportViewer على جهاز العميل او جهاز اخر محمود بكرى 1 4,987 07-03-18, 05:28 PM
آخر رد: KH_Alaswad
  التحويل من C# to VB والعكس بأداتين من مايكروسوفت أبو عمر 11 7,442 03-11-15, 12:52 AM
آخر رد: أبو عمر
  كونترول جديد من مايكروسوفت MsChart Control RaggiTech 1 3,130 05-10-12, 03:04 PM
آخر رد: RaggiTech
  مواصفات قياسية تنصح بها مايكروسوفت عند كتابة الأكواد RaggiTech 1 2,903 05-10-12, 02:56 AM
آخر رد: RaggiTech
  تطبيقات متعدد الطبقات بمفهوم مايكروسوفت smss 2 3,534 20-09-12, 02:15 PM
آخر رد: smss

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


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