الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هذا كود تمرير بارميتر واظهاره على التقرير لا ادري اين الخلل

بدأه basharss في 1 يوليو 2008 · 1 رد · 1,247 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بعمل تقرير على crystal report يحتاج الى عرض البيانات بين تاريخين ، وكانت الداتا سيت الخاصة بالربورت تحتوي جملة select تظهر في خاصية Fill كما يلي :

SELECT	 Support.SupportNo, SupportType.SupportTypeName, SupportItem.SupportItemName, Support.SupportDate, Support.SupportGoal, Support.SupprotCost, 
					  DonateSide.DonateName
FROM		 Support LEFT OUTER JOIN
					  DonateSide ON Support.DonateSource = DonateSide.DonateNo LEFT OUTER JOIN
					  SupportItem ON Support.SupportKind = SupportItem.SupportItemNo LEFT OUTER JOIN
					  SupportType ON Support.SupportType = SupportType.SupportTypeNo
WHERE	 (Support.SupportDate BETWEEN @Par1 AND @Par2)

وهي تعمل بشكل سليم عند فحصها من خلال ال Query Builder

وقد اضفت للتقرير المبني عليها على ال Parameter Fields البارميترات التالية :

@Par1
@Par2

في النموذج الذي يعرض به التقرير وبعد ان اضفت ال CrystalReportViewer1 قمت باضافة الكود التالي للنموذج الذي يعرض التقرير :

 
 Dim conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & Application.StartupPath & "\SQS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
	Dim str As String = "SELECT Support.SupportNo, SupportType.SupportTypeName, SupportItem.SupportItemName, Support.SupportDate, Support.SupportGoal, Support.SupprotCost, DonateSide.DonateName FROM Support LEFT OUTER JOIN DonateSide ON Support.DonateSource = DonateSide.DonateNo LEFT OUTER JOIN SupportItem ON Support.SupportKind = SupportItem.SupportItemNo LEFT OUTER JOIN SupportType ON Support.SupportType = SupportType.SupportTypeNo WHERE (Support.SupportDate BETWEEN @Par1 AND @Par2)"

	Dim SqlDataAdapter1 As New SqlDataAdapter(str, conn)
	Dim ds2 As New SupportDS
	'ds2 = new SupportDS
	Dim fdate, sdate As Date
	Public paramFields As New ParameterFields()


	Private Sub SupportReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

		Dim rpt As New ReportDocument

		Dim paramField, paramField2 As New ParameterField()
		Dim discreteVal As New ParameterDiscreteValue()

		paramField.ParameterFieldName = "@Par1"
		paramField.ParameterType = ParameterType.ReportParameter
		paramFields.Add(paramField)

		paramField2.ParameterFieldName = "@Par2"
		paramField2.ParameterType = ParameterType.ReportParameter
		paramFields.Add(paramField2)

		rpt.Load("C:\QSS\SupportCrystalReport.rpt")

		CrystalReportViewer1.ParameterFieldInfo = paramFields
		CrystalReportViewer1.ReportSource = rpt
		CrystalReportViewer1.Refresh()

	End Sub

والتقرير يطلب البارميترات بشكل صحيح ولكنه للاسف يعرض التقرير فارغا رغم انني اعطيه تاريخين يوجد بينهما بيانات بالتأكيد.

لا ادري ما المشكلة وقد تصفحت كل المواضيع ذات العلاقة هنا ولكن دون جدوى في حل المشكلة.

علما بانني جعلت البارميترات المدخله على التقرير تظهر على التقرير (اي ان البارمترات تظهر فعلا) لكنه لا يظهر اي بيانات حسب البارميترز الظاهرة نهائيا

اتمنى مساعدتي في حلها والبرنامج هو لجمعية خيرية تعمل مع الاطفال المشردين والمتسربيين والايتام .

Report.rar

logosite.gif
#2

على الاقل تلميح قد ينفع يا اخوان

logosite.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…