إستفتاء : ما رأيك في تقارير مايكروسوفت والشرح هل استفدت فعلاً ؟
موضوع تقارير مايكروسوفت مهم والشرح مميز
موضوع تقارير مايكروسوفت مهم والشرح عادي
لا تهمني تقارير مايكروسوفت
[عرض النتائج]
 
 
تقييم الموضوع :
  • 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
#3
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي و أستاذي الكريم " حريف برمجة " على الموضوع الرّائع و المميّز و الشّرح الأروع
أوّل مرّة أجد شرحًا لهذه الأداة بهذه الطريقة و هذا الأسلوب و الصّور التّوضيحيّة
بالنسبة لي لم يسبق لي إستعمالها و لذلك سأقوم بالتجربة و إن كانت لي تساؤلات سأطرحها بعد إذنك
تم التّصويت للعنصر الأوّل
تحياتي و تشكراتي و تقييماتي
الرد
تم الشكر بواسطة: elgokr , wared
#4
جزاك الله خيرا كفيت و وفيت

شرح ممتاز
الرد
تم الشكر بواسطة: elgokr , wared
#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
#7
(25-12-18, 12:16 PM)dell كتب : بارك الله فيك

جزاك الله خير اخي الفاضل ،، ولك بالمثل واكثر
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة: اسامه الهرماوي , elgokr , wared
#8
(25-12-18, 07:40 PM)حريف برمجة كتب :
(25-12-18, 12:16 PM)dell كتب : بارك الله فيك

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

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

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

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

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

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

هل تقصد بدون قاعدة بيانات مثلاً ؟
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة: elgokr , elgokr , wared



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


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