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

مشكله في عرض التقارير

بدأه هلا والله في 12 يونيو 2011 · 20 رد · 1,150 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف حالكم واسعد الله ايامكم ..

والله يسعدكم في الدنيا والاخرة

الحمدلله لقد اتممت برنامجي ولكن ظهرت لي مشكله في عرض التقارير لم تكن في الحسبان وتتمثل بالاتي :

عندما اكون في بيئة الفيجوال بيسك دوت نت واضغط على اظهار تقرير معين يظهر التقرير طبيعي ومافيش ايش مشكله ... طبعا في جهازي

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

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

يعني المشكله باختصار عدم ظهور التقارير في النسخة التنفيذية

وايضا عند نقل البرنامج الى جهاز اخر وتشغيل البرنامج لاتستجيب التقارير

تاخر في استعراض التقارير جدا جدا

ارفق اليكم الكود الخاص بعرض التقرير وايضا صورة للخطأ

 Dim cn As New SqlConnection()    	If cn.State = ConnectionState.Closed Then        	cn.ConnectionString = "Data Source=.;Initial Catalog=data;Integrated Security=True"        	cn.Open()    	End If    	Dim cmd As New SqlCommand    	Dim dr As SqlDataReader    	cmd.Connection = cn    	cmd.CommandType = CommandType.Text    	Dim s As String    	s = "SELECT * FROM Vacations "    	s = s & "WHERE Vacations.[var_emp_no]=" & Integer.Parse(cb1.SelectedValue.ToString()) 'And orders.order_Receipt_date BETWEEN datetime.parse(text1.text) AND datetime.parse(text2.text)    	cmd.CommandText = s    	dr = cmd.ExecuteReader()    	'Me.Hide()    	Dim ddr As DataTable = New DataTable()    	Dim countcolumn As Integer = 0    	While True        	Try            	Dim st As String = dr.GetName(countcolumn).ToString()            	countcolumn = countcolumn + 1        	Catch ex As Exception            	Exit While        	End Try    	End While    	For index As Integer = 0 To countcolumn - 1        	ddr.Columns.Add(dr.GetName(index).ToString())    	Next    	While (dr.Read())        	Dim datar As DataRow = ddr.NewRow()        	For index As Integer = 0 To countcolumn - 1            	datar.Item(index) = dr.Item(index)        	Next        	ddr.Rows.Add(datar)        	datar.AcceptChanges()    	End While    	dr.Close()    	cmd = New SqlCommand    	cmd.Connection = cn    	cmd.CommandType = CommandType.Text    	s = "SELECT Names.Name FROM Names WHERE Names.[data_id]=" & Integer.Parse(cb1.SelectedValue.ToString())    	cmd.CommandText = s    	dr = cmd.ExecuteReader()    	dr.Read()    	Dim oRpt As ReportDocument = New ReportDocument()    	oRpt.Load(Application.StartupPath.ToString() & "\" & "rptholiday.rpt")    	oRpt.SetDataSource(ddr)    	oRpt.SetParameterValue("Name", dr.Item(0).ToString())    	dr.Close()    	'repdataorders.subdataorder1.SetDataSource(ddr)    	repholedy.CrystalReportViewer1.ReportSource = oRpt    	repholedy.ShowDialog()    	'repdataorders.subdataorder1.Refresh()    	''re.SetDataSource()

عفوا هناك خطاء في ارفاق احدى الصور

تم تعديل هذه المشاركة بواسطة هلا والله في 12 يونيو 2011 في 22:10

#2

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

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

.:: Wish to become better and better ::.

#3
هلا والله كتب:

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

كيف حالكم واسعد الله ايامكم ..

والله يسعدكم في الدنيا والاخرة

الحمدلله لقد اتممت برنامجي ولكن ظهرت لي مشكله في عرض التقارير لم تكن في الحسبان وتتمثل بالاتي :

عندما اكون في بيئة الفيجوال بيسك دوت نت واضغط على اظهار تقرير معين يظهر التقرير طبيعي ومافيش ايش مشكله ... طبعا في جهازي

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

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

يعني المشكله باختصار عدم ظهور التقارير في النسخة التنفيذية

وايضا عند نقل البرنامج الى جهاز اخر وتشغيل البرنامج لاتستجيب التقارير

تاخر في استعراض التقارير جدا جدا

ارفق اليكم الكود الخاص بعرض التقرير وايضا صورة للخطأ

 Dim cn As New SqlConnection()    	If cn.State = ConnectionState.Closed Then        	cn.ConnectionString = "Data Source=.;Initial Catalog=data;Integrated Security=True"        	cn.Open()    	End If    	Dim cmd As New SqlCommand    	Dim dr As SqlDataReader    	cmd.Connection = cn    	cmd.CommandType = CommandType.Text    	Dim s As String    	s = "SELECT * FROM Vacations "    	s = s & "WHERE Vacations.[var_emp_no]=" & Integer.Parse(cb1.SelectedValue.ToString()) 'And orders.order_Receipt_date BETWEEN datetime.parse(text1.text) AND datetime.parse(text2.text)    	cmd.CommandText = s    	dr = cmd.ExecuteReader()    	'Me.Hide()    	Dim ddr As DataTable = New DataTable()    	Dim countcolumn As Integer = 0    	While True        	Try            	Dim st As String = dr.GetName(countcolumn).ToString()            	countcolumn = countcolumn + 1        	Catch ex As Exception            	Exit While        	End Try    	End While    	For index As Integer = 0 To countcolumn - 1        	ddr.Columns.Add(dr.GetName(index).ToString())    	Next    	While (dr.Read())        	Dim datar As DataRow = ddr.NewRow()        	For index As Integer = 0 To countcolumn - 1            	datar.Item(index) = dr.Item(index)        	Next        	ddr.Rows.Add(datar)        	datar.AcceptChanges()    	End While    	dr.Close()    	cmd = New SqlCommand    	cmd.Connection = cn    	cmd.CommandType = CommandType.Text    	s = "SELECT Names.Name FROM Names WHERE Names.[data_id]=" & Integer.Parse(cb1.SelectedValue.ToString())    	cmd.CommandText = s    	dr = cmd.ExecuteReader()    	dr.Read()    	Dim oRpt As ReportDocument = New ReportDocument()    	oRpt.Load(Application.StartupPath.ToString() & "\" & "rptholiday.rpt")    	oRpt.SetDataSource(ddr)    	oRpt.SetParameterValue("Name", dr.Item(0).ToString())    	dr.Close()    	'repdataorders.subdataorder1.SetDataSource(ddr)    	repholedy.CrystalReportViewer1.ReportSource = oRpt    	repholedy.ShowDialog()    	'repdataorders.subdataorder1.Refresh()    	''re.SetDataSource()

عفوا هناك خطاء في ارفاق احدى الصور

صورة الخطاء هي

post-208621-063556500 1307906577_thumb.j

المرفقات
صورة راسالة الخطأ.jpg
#4

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

اخي عندك مشكله في الفواصل العلوية لجملة الاستعلام الاولى, الرجاء مراجعتها ..

.:: Wish to become better and better ::.

#5

شكرا على سرعة الرد .... وجزاك الله خيرا ... تحياتي

#6

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

لاشكر على واجب اخي .. بالتوفيق ..

.:: Wish to become better and better ::.

#7
هلا والله كتب:

شكرا على سرعة الرد .... وجزاك الله خيرا ... تحياتي

عفوا ياستاذي العزيز ... امس استبشرت خيرا باني حليت المشكله لكن وجدت المشكله عادت لي مره ثانية ..... ارجو ياستاذي العزيز التعديل بالكود اعلاه .. فانا لامتلك الخبرة الكافية لمعالجة الاخطاء ... شكرا وجزاك الله خيرا

#8

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

اخي ممكن ترفق لي المشروع او الفورم وقاعدة البيانت ليتم النظر في المشكله؟

.:: Wish to become better and better ::.

#9
VB Helper كتب:

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

اخي ممكن ترفق لي المشروع او الفورم وقاعدة البيانت ليتم النظر في المشكله؟

http://uploading.com/files/e32e5828/emp.rar/

هذا هو رابط لجزء من البرنامج مع قاعدة البيانات

#10

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

اخي الملف كبير شوي, ممكن تكتب كود الحدث المسبب لظهور الرساله؟

.:: Wish to become better and better ::.

#11
VB Helper كتب:

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

اخي الملف كبير شوي, ممكن تكتب كود الحدث المسبب لظهور الرساله؟

استاذي العزيز اعيد لك رفع نسخة مصغرة للنموذج بحجم اكبر ,,, ربما يكون هناك خطأ في وضعية الملف والرسالة التي تظهر عند عرض التقرير يبدو انها تشير الا ن الامتداد خاطئ ,,, بس اريد ياستاذي امتداد للرابط بحيث لايخل عندما انصب البرنامج على جهاز اخر ولاتطلعلي اي مشكل ...

جزاك الله خيرا .... طبعا اعدت تصميم نموذج على نسخة 2008 وقاعدة البيانات على نسخة 2005

emp2.rar

#12
هلا والله كتب:

استاذي العزيز اعيد لك رفع نسخة مصغرة للنموذج بحجم اكبر ,,, ربما يكون هناك خطأ في وضعية الملف والرسالة التي تظهر عند عرض التقرير يبدو انها تشير الا ن الامتداد خاطئ ,,, بس اريد ياستاذي امتداد للرابط بحيث لايخل عندما انصب البرنامج على جهاز اخر ولاتطلعلي اي مشكل ...

جزاك الله خيرا .... طبعا اعدت تصميم نموذج على نسخة 2008 وقاعدة البيانات على نسخة 2005

الله الله لاتنسونا .....

انا اليوم مفرغ نفسي عشان متابعتكم اول باول ....

الله يكون معاكم

#13

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

اخي شغلت المشروع, اين يظهر الخطأ وممكن ترفق رسالة الخطأ؟!!

.:: Wish to become better and better ::.

#14
VB Helper كتب:

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

اخي شغلت المشروع, اين يظهر الخطأ وممكن ترفق رسالة الخطأ؟!!

استاذي العزيز ... ارفقت لكم رسالة الخطا في الصورة اعلاه قبل يومان ، مافي غير هذه الرسالة ... ممكن ياستاذي تجرب البرنامج الذي ارفقته اليك وتعيد النظر في الكود لتصحيحه اذا فيه اخطاء وترشدني فين الخطا

عفوا ياستاذي على كثرة اسالتي ... شكرا ( ربما يكون في لكود وربما يكون في عدم التعرف على موقع الريبورت ؟؟؟ مادري ) على العموم البرنامج المرفق حجمه صغير جدا ...

#15

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

اخي قم بتجريب بوض التقرير في مجلد ال bin لأن كودك يقرأ التقرير من نفس مسار الملف التنفيذي

.:: Wish to become better and better ::.

#16
هلا والله كتب:

استاذي العزيز ... ارفقت لكم رسالة الخطا في الصورة اعلاه قبل يومان ، مافي غير هذه الرسالة ... ممكن ياستاذي تجرب البرنامج الذي ارفقته اليك وتعيد النظر في الكود لتصحيحه اذا فيه اخطاء وترشدني فين الخطا

عفوا ياستاذي على كثرة اسالتي ... شكرا ( ربما يكون في لكود وربما يكون في عدم التعرف على موقع الريبورت ؟؟؟ مادري ) على العموم البرنامج المرفق حجمه صغير جدا ...

شكرا ياستاذي العزيز ربما عرفت المشكله .... نصبت البرنامج على ويندوز 7 فاشتغل معي كويس ولاتوجهني اي مشكله ( طبعا كان تصميم البرنامج من البداية حتى النهاية في ويندوز 7 ) لكن المشكله عند نقل البرنامج كاملا مع قاعدة البيانات الى جهاز اخر به ويندوز xp اواجه مشاكل عدم التعرف على الريبورت بالرغم اني نزلت كل متطلبات البرنامج مع تقارير وقاعدة البيانات وبرنامج الفيجوال (2005 )

وسؤالي هل هناك تعارض للبرنامج ولا يتعرف على بعض اجزائه في حالة اختلف الاصدار - قصدي اختلاف اصدار فيجوال ستوديو

وهل يتعارض البرنامج في حالة اختلاف اصدار والويندوز .... ومالحل من ذلك

مع العلم انه لما احاول اعمل للبرنامج pubish من build لايتعرف البرنامج على التقارير؟؟؟ ماسبب ذلك ( مع العلم ان امتداد التقرير هو (D:\emp\WindowsApplication2\bin\Debug\dataemploy.rpt) طبعا هذ البرنامج يلي على جهازي

والكود هي

ارجو ياستاذي النظر الى الامتداد اعلا ثم النظر الى الكود التالي .. ماذا يعارض البرنامج

Dim cn As New SqlConnection()

If cn.State = ConnectionState.Closed Then

cn.ConnectionString =

"Data Source=.;Initial Catalog=data;Integrated Security=True"

cn.Open()

End If

Dim cmd As New SqlCommand

Dim dr As SqlDataReader

cmd.Connection = cn

cmd.CommandType = CommandType.Text

Dim s As String

s =

"SELECT orders.order_number,orders.Orders_name,orders.Orders_period,orders.Orders_start,orders.Orders_end,orders.order_type,orders.Receipt_state,orders.order_Receipt_date FROM orders "

s = s &

"WHERE orders.[order_emp_no]=" & Integer.Parse(cb1.SelectedValue.ToString()) 'And orders.order_Receipt_date BETWEEN datetime.parse(text1.text) AND datetime.parse(text2.text)

cmd.CommandText = s

dr = cmd.ExecuteReader()

'Me.Hide()

Dim ddr As DataTable = New DataTable()

Dim countcolumn As Integer = 0

While True

Try

Dim st As String = dr.GetName(countcolumn).ToString()

countcolumn = countcolumn + 1

Catch ex As Exception

Exit While

End Try

End While

For index As Integer = 0 To countcolumn - 1

ddr.Columns.Add(dr.GetName(index).ToString())

Next

While (dr.Read())

Dim datar As DataRow = ddr.NewRow()

For index As Integer = 0 To countcolumn - 1

datar.Item(index) = dr.Item(index)

Next

ddr.Rows.Add(datar)

datar.AcceptChanges()

End While

dr.Close()

cmd =

New SqlCommand

cmd.Connection = cn

cmd.CommandType = CommandType.Text

s =

"SELECT Names.Name FROM Names WHERE Names.[data_id]=" & Integer.Parse(cb1.SelectedValue.ToString())

cmd.CommandText = s

dr = cmd.ExecuteReader()

dr.Read()

Dim oRpt As ReportDocument = New ReportDocument()

oRpt.Load(Application.StartupPath.ToString() &

"\" & "subdataorder.rpt")

oRpt.SetDataSource(ddr)

oRpt.SetParameterValue(

"Name", dr.Item(0).ToString())

dr.Close()

'repdataorders.subdataorder1.SetDataSource(ddr)

repdataorders.CrystalReportViewer1.ReportSource = oRpt

repdataorders.ShowDialog()

'repdataorders.subdataorder1.Refresh()

''re.SetDataSource()

تم تعديل هذه المشاركة بواسطة هلا والله في 15 يونيو 2011 في 22:11

#17

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

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

.:: Wish to become better and better ::.

#18
VB Helper كتب:

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

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

شكرا استاذي العزيز

بس لما اعدل المسار .. انا ذهبت الى التقرير ثم ظغطت خصائص فطلع لي المسار التالي E:\سطح المكتب\emp\WindowsApplication2\bin\Debug\rptholiday.rpt

وهذا المسار اكيد بيتعارض لما احمل البرنامج في جهاز اخر . ماهو الحل

#19

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

اخي ما هذا الا مسار للملف فاذا نقلت مشروعك سيتغير المسار لكن عند الحزم وبالداله الت استخدمتها اعلاه ستبحث عن مسار الملف التنفيذي وستفترض ان مسار التقرير هو نفس مسار الملف التنفيذي

.:: Wish to become better and better ::.

#20
VB Helper كتب:

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

اخي ما هذا الا مسار للملف فاذا نقلت مشروعك سيتغير المسار لكن عند الحزم وبالداله الت استخدمتها اعلاه ستبحث عن مسار الملف التنفيذي وستفترض ان مسار التقرير هو نفس مسار الملف التنفيذي

شكرا ياستاذي وجزاك الله الف الخير ... على تحملي .... اشكرك من كل قلبي

#21

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

لاشكر على واجب اخي .. بالتوفيق ..

.:: Wish to become better and better ::.

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