PDA

View Full Version : ارتباط با Report به صورت دستی



r0ot$harp
شنبه 20 مهر 1387, 13:16 عصر
سلام دوستان

من می خوام به صورت دستی به Report ارتباط برقرار کنم . ولی هرکاری می کنم نمی شه .

من از این کد استفاده می کنم هیچ خطایی نمی ده ولی هیچی نشون نمی ده . :عصبانی::عصبانی::عصبانی++::عص انی++:




Cn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & Adress)
Cn.Open()

DA = New OleDbDataAdapter("select * from [Order]", Cn)
DA.Fill(DS, "[Order]")



RDS.Name = "[Order]"
RDS.Value = DS.Tables("[Order]")

ReportViewer1.LocalReport.DataSources.Add(RDS)
Me.ReportViewer1.RefreshReport()




باتشکر احسان

davood-ahmadi
شنبه 20 مهر 1387, 15:42 عصر
Dim objRPT As New ReportDocument
objRPT.Load("c:\CrystalReport1.rpt")
objRPT.SetDataSource("[order]")
objRPT.SetParameterValue("strDate", strDate1.GetDate(thisDate))
objRPT.SetParameterValue("strStartDate", m_strStartDate)
objRPT.SetParameterValue("strEndDate", m_strEndDate)
CrystalReportViewer1.ReportSource = objRPT

r0ot$harp
شنبه 20 مهر 1387, 16:40 عصر
Dim objRPT As New ReportDocument
objRPT.Load("c:\CrystalReport1.rpt")
objRPT.SetDataSource("[order]")
objRPT.SetParameterValue("strDate", strDate1.GetDate(thisDate))
objRPT.SetParameterValue("strStartDate", m_strStartDate)
objRPT.SetParameterValue("strEndDate", m_strEndDate)
CrystalReportViewer1.ReportSource = objRPT


دوست عزیز کدی که شما گذاشتین برای Crystal Report هست ولی من برای Report View می خوام .





باتشکر احسان

r0ot$harp
یک شنبه 21 مهر 1387, 15:04 عصر
دوستان من 15 فیلد دارم و این 15 فیلد اطلاعات بیمار هست .

من می خوام بدونم چگونه باید با استفاده از کد نویسی و بدون استفاده از کنترل های مربوط به Bind و ... می توانم Crystal Report رو اجرا کنم و در قسمت طراحی ریپورت من وقتی پارامتر ندارم از چه کنترلی برای مقید کردن اطلاعات استفاده کنم ؟





باتشکر احسان

Chabok
یک شنبه 21 مهر 1387, 19:31 عصر
نمیشه . کریستال ریپورت باید فیلدهایی دیتا رو براتون بسازه .
منظورم اینه که هنگام ساخت ریپورت باید به یک دیتاسورس متصلش کنید تا فیلدهاتون رو بسازه .

حالا دیگه بعدش هر جوری میخواهید گزارش رو تغذیه می کنید .

r0ot$harp
یک شنبه 21 مهر 1387, 19:50 عصر
نمیشه . کریستال ریپورت باید فیلدهایی دیتا رو براتون بسازه .
منظورم اینه که هنگام ساخت ریپورت باید به یک دیتاسورس متصلش کنید تا فیلدهاتون رو بسازه .

حالا دیگه بعدش هر جوری میخواهید گزارش رو تغذیه می کنید .

دوست عزیز یه خورده توضیح میدی ؟


من الان یه کریستال ایجاد کردم و به یه بانک به قسمت DataBase Field اضافه کرده ام و الان می خوام بدونم چگونه باید از داخل فرم کریستال رو با یه شرایطی بازگشایی کنم ؟

منظروم از شرایط Query هست . مثلا سن های بیشتر از 10 سال .




باتشکر احسان

Chabok
یک شنبه 21 مهر 1387, 23:12 عصر
اگه تونستین دیتابیس فیلد ها رو توی ریپورت اضافه کنید که تمومه .

با همون کدهایی که در پست اول دادین کافیه همین دیتاست که Fill کردین رو به گزارش وصل کنید .

r0ot$harp
سه شنبه 23 مهر 1387, 00:44 صبح
اگه تونستین دیتابیس فیلد ها رو توی ریپورت اضافه کنید که تمومه .

با همون کدهایی که در پست اول دادین کافیه همین دیتاست که Fill کردین رو به گزارش وصل کنید .

دوست عزیز من تا به حال در .Net با کریستال کار نکرده ام و در این عمر کمی تا قسمتی نیمه ابری ضعیف هستم . اگر لطف کنید به Sample بزارین ممنون می شم .






باتشکر احسان

Chabok
سه شنبه 23 مهر 1387, 13:13 عصر
Dim Rpt As New ReportDocument
Rpt.Load(Server.MapPath("~\Reports\BookRpt.rpt"))

Rpt.Database.Tables("Books").SetDataSource(Dt)

RepViw.ReportSource = Rpt
RepViw.DataBind()

r0ot$harp
سه شنبه 23 مهر 1387, 15:04 عصر
Dim Rpt As New ReportDocument
Rpt.Load(Server.MapPath("~\Reports\BookRpt.rpt"))

Rpt.Database.Tables("Books").SetDataSource(Dt)

RepViw.ReportSource = Rpt
RepViw.DataBind()


دوست عزیز ممنون از جوابتون ولی من الان مشکل اصلیم در رابطه با قرار دادن فیلد ها هست . وقتی یه دیتابیس رو به کریستال اضافه می کنید در قسمت DataBase Field تمام فیلدهای جدول ظاهر می شود و می توان فیلدهای مورد استفاده رو در جاهای خود قرار داد ولی حالا که می خواهید دیتابیس رو از طریق کد نویسی به کریستال وصل کنیم در زمان طراحی باید چگونه فیلد ها را در قسمت های مورد نیاز قرار داد ؟



دوست عزیز در ضمن خواهشمند هستم یه نمونه بزارین نه یه نمونه کد . یه Sample عالی .


باتشکر احسان

Chabok
سه شنبه 23 مهر 1387, 23:24 عصر
با سلام

دوست عزیز . آقا احسان
من خدمتتون عرض کردم . با یک ریپورت خالی هیچ کاری نمیشه کرد .

منظورم اینه که هنگام طراحی با New Blank Report نمیشه کار کرد .

شما نمیتونید بصورت دستی Database Field روی رپیورت قرار بدین . باید خودش اینکار رو انجام بده .

باید در ابتدا توسط ویزارد ها ریپورت رو به یک دیتابیس وصل کنید تا "دیتابیس فیلدها" رو تشخیص داده و روی ریپورت قرار بده .

حالا دیگه شما باید اطلاعات رو به رپیورت بدین تا نمایش بده .

این یک مصیبت در کریستال ریپورت است که نمیشه Database Filed ها رو بصورت دستی بهش داد .
یا من بلد نیستم . ولی تا به حال هم ندیدم کسی کرده باشه .

پس پیشنهاد میکنم :
1 . یک دیتاست بصورت فایل (دیتاستی که add new item می کنید و دستی اضافه می کنید) طبق فیلدهای گزارشتون طراحی کنید .
2 . هنگام ایجاد گزارش از ویزاردهای کریستا ریپورت دیتاست رو بهش بدین تا فیلدها رو براتون بچینه روی ریپورت
3 . دیگه گزارش آمادس و طبق سایر بحث هایی که در این تاپیک و سایر تاپیک ها شده کار رو تموم کنید .

من به نظر خودم کل راهنمایی هایی که باید داده میشد رو نوشتم .
پس اگه موفق نشدید چند بار دوره کنید تا چیزی رو از قلم نندازید .

موفق باشید . خدانگهدار

r0ot$harp
سه شنبه 23 مهر 1387, 23:46 عصر
با سلام

دوست عزیز . آقا احسان
من خدمتتون عرض کردم . با یک ریپورت خالی هیچ کاری نمیشه کرد .

منظورم اینه که هنگام طراحی با New Blank Report نمیشه کار کرد .

شما نمیتونید بصورت دستی Database Field روی رپیورت قرار بدین . باید خودش اینکار رو انجام بده .

باید در ابتدا توسط ویزارد ها ریپورت رو به یک دیتابیس وصل کنید تا "دیتابیس فیلدها" رو تشخیص داده و روی ریپورت قرار بده .

حالا دیگه شما باید اطلاعات رو به رپیورت بدین تا نمایش بده .

این یک مصیبت در کریستال ریپورت است که نمیشه Database Filed ها رو بصورت دستی بهش داد .
یا من بلد نیستم . ولی تا به حال هم ندیدم کسی کرده باشه .

پس پیشنهاد میکنم :
1 . یک دیتاست بصورت فایل (دیتاستی که add new item می کنید و دستی اضافه می کنید) طبق فیلدهای گزارشتون طراحی کنید .
2 . هنگام ایجاد گزارش از ویزاردهای کریستا ریپورت دیتاست رو بهش بدین تا فیلدها رو براتون بچینه روی ریپورت
3 . دیگه گزارش آمادس و طبق سایر بحث هایی که در این تاپیک و سایر تاپیک ها شده کار رو تموم کنید .

من به نظر خودم کل راهنمایی هایی که باید داده میشد رو نوشتم .
پس اگه موفق نشدید چند بار دوره کنید تا چیزی رو از قلم نندازید .

موفق باشید . خدانگهدار

واقعا ازتون تشکر می کنم . بسیار ممنون .

به خدا کلی نمونه گرفتم ولی همشون دیتابیس رو Bind کرده بودن و هیچ کدوم دستی این کتر رو نکرده بودند .


حالا سوالم اینه که می خوام در قسمت سمت چپ که یه قسمت خالی هست مثل یه ListBox می شه کاری کرد که مثلا اسم 10 نفر رو بیاره بعد قتی رو هر کدوم کلیک کردم بره برطبق اسم انتحاب شده اطلاعاتشون رو نمایش بده ؟




باتشکر احسان