منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الكريستال ريبورت بدون قاعدة بيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة التقارير والطباعة تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=71)
+--- الموضوع : الكريستال ريبورت بدون قاعدة بيانات (/showthread.php?tid=29240)



الكريستال ريبورت بدون قاعدة بيانات - sads - 03-04-19

السلام عليكم ورحمة الله وبركاته

في البداية أحب أن أشكر الأخوة الأعضاء في هذا الصرح التعليمي على مايبذلونه من جهد كبير في الإجابه على الطلبات المطروحة من إخوتي بهذا المنتدى 
فلهم منى كل الشكر والتقدير و الإحترام

طلب لو سمحتم
كيف لي أن أستدعي قيمة من حقل نص موجود على فورم  إلى تقرير الكريستال ريبورت أي بدون قواعد بيانات

لدي قاعدة بيانات ولاكن قيمة النص هذه ليست مرتبطة بقاعدة البيانات لدي



RE: الكريستال ريبورت بدون قاعدة بيانات - حريف برمجة - 03-04-19

وعليكم السلام ورحمة الله وبركاته ،،

عن طريق الباراميترز ..


RE: الكريستال ريبورت بدون قاعدة بيانات - sads - 03-04-19

هل من توضيح بسيط أخي كيف أستخدم البراميتر


RE: الكريستال ريبورت بدون قاعدة بيانات - dell - 04-04-19

مثل ماقال اخي بالباريميتر

كود :
            ' أسم التقريرdorh_basic_data_print_ts7e7hoeh 
            Dim rpt As New dorh_basic_data_print_ts7e7hoeh
            rpt.SetDataSource(ds)
            Dim ParamValue As New CrystalDecisions.Shared.ParameterValues()
            Dim ParamName As New CrystalDecisions.Shared.ParameterDiscreteValue()
            'تغير قيمة TextBox1.Text بالقيمة التي تريد أدخالها
            ParamName.Value = TextBox1.Text
            ParamValue.Add(ParamName)
            ' أسم الباريميتر al3zabe والذي سوف اضعه في التقرير'
            rpt.DataDefinition.ParameterFields("al3zabe").ApplyCurrentValues(ParamValue)


            '  أسم الفورم dorh_basic_data_print_hoehD'
            dorh_basic_data_print_hoehD.CrystalReportViewer1.ReportSource = rpt
            dorh_basic_data_print_hoehD.Show()
            connn.Close()

وغير مايلزم


RE: الكريستال ريبورت بدون قاعدة بيانات - بدري - 04-04-19

الباراميتر يصلح لبيانات قليله مثل اسم المدرسه وام المدير وهكذا
ولا تصلح لكشف درجات

تستطيع اضافه الباراميتر من Field Explorer وستجد Parameter Fields قم بانشاء جديد داخلها واعطه اسما ثم اسحب هذا الباراميتر الذي انشاته الى التقرير في المكان المناسب

في الكود بعد التعريف بالتقرير مثل
Dim r As New CrystalReport1

تضع قيمه في الباراميتر مثل
r.SetParameterValue("parametername", 1000)


RE: الكريستال ريبورت بدون قاعدة بيانات - عبد العزيز البسكري - 04-04-19

السّلام عليكم و رحمة الله و بركاته
إضافة لما طرحه السادة الأكارم بارك الله فيهم و لهم و زادها بموازين حسناتهم .. و من باب تنوّع الأفكار
يمكن كذلك الطباعة مباشرة بدون أي إرتباط بقاعدة البيانات .. كل ما يجب فعله .. هو إضافة Text Object  من خلال صفحة الكريستال ريبورت مع مراعاة تسميتها و تسمية التاكسات بكس مثلا على الفورم .. مثلا لديك 20 تاكست بكس .. سيلزمك 20 Text Object على الكريستال ريبورت .. ثم إستعمل هذا الكود للطباعة المباشرة
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

   Dim rpt1 As New Crystal1

   Dim Text1 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text1")
   Text1.Text = Me.TextBox1.Text

   Dim Text2 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text2")
   Text2.Text = Me.TextBox2.Text

   Dim Text3 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text3")
   Text3.Text = Me.TextBox3.Text

   Dim Text4 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text4")
   Text4.Text = Me.TextBox4.Text

   Dim Text5 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text5")
   Text5.Text = Me.TextBox5.Text

   Dim Text6 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text6")
   Text6.Text = Me.TextBox6.Text

   Dim Text7 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text7")
   Text7.Text = Me.TextBox7.Text

   Dim Text8 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text8")
   Text8.Text = Me.TextBox8.Text

   Dim Text9 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text9")
   Text9.Text = Me.TextBox9.Text

   Dim Text10 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text10")
   Text10.Text = Me.TextBox10.Text

   Dim Text11 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text11")
   Text11.Text = Me.TextBox11.Text

   Dim Text12 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text12")
   Text12.Text = Me.TextBox12.Text

   Dim Text13 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text13")
   Text13.Text = Me.TextBox13.Text

   Dim Text14 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text14")
   Text14.Text = Me.TextBox14.Text

   Dim Text15 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text15")
   Text15.Text = Me.TextBox15.Text

   Dim Text16 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text16")
   Text16.Text = Me.TextBox16.Text

   Dim Text17 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text17")
   Text17.Text = Me.TextBox17.Text

   Dim Text18 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text18")
   Text18.Text = Me.TextBox18.Text

   Dim Text19 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text19")
   Text19.Text = Me.TextBox19.Text

   Dim Text20 As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section2.ReportObjects("Text20")
   Text20.Text = Me.TextBox20.Text

   Dim frm As New Form1
   frm.CrystalReportViewer1.ReportSource = rpt1
   Me.Dispose()
   frm.Show()
End Sub

تحياتي