PDA

View Full Version : دردسر با crystalreport



bashir_nashi
پنج شنبه 17 دی 1383, 22:51 عصر
سلام عزیزان.
من تمام ارتباطات با بانک اطلاعاتی رو تو برنامم با کد ایجاد کردم و گزارش گیری اون هم موفقیت آمیز بود . ولی بعد از تهیه برنامه نصب در قسمت تهیه گزارش با مشکل مواجه شدم. چون موقع ایجاد crystalreport من database رو با آدرس محل ذخیره فایل بانک اطلاعاتی معرفی کرده بودم و وقتی برنامه نصب می شه این آدرس تغییر می کنه.
بخاطر همین ارتباط با جدول مزبور رو هنگام طراحی (نه بوسیله کد) ایجاد کردم ولی با مشکل جدیدی مواجه شدم. وقتی درخواست گزارش انجام می گیرد crystalreport
باز شده ولی خالی است و پنجره مقابل می آید.
اگه ممکنه منو راهنمایی کنید . . . :sorry:

روانشناس
جمعه 18 دی 1383, 00:10 صبح
از طریق ODBC با Database ارتباط برقرار کن. یه DSN بسازی مشکلت حل میشه.

bashir_nashi
جمعه 18 دی 1383, 13:22 عصر
جناب روانشناس با تشکر.
من از ODBC استفاده کردم ولی باز هم به آدرس قبلی فایل بانک اطلاعاتی من مراجعه می کنه نه به آدرس جدید بعد از نصب .
گزارش گیری تو VB چقدر سخته
everybody please help me
وگرنه به همه می گم VB بدرد نمی خوره . . . :mad:

روانشناس
شنبه 19 دی 1383, 17:01 عصر
ببینید بعد از اینکه شما یه DSN ساختید باید توی Crystal هم فیلدهاتون رو از همون DSN انتخاب کنید. بعد توی ساختن Setup تعیین می کنید که در کامپیوتر مقصد یه DSN به همون شکل بسازه و آدرس فایل رو برابر آدرس فایل Database در کامپیوتر مقصد قرار بده. به همین راحتی.

reham
شنبه 19 دی 1383, 19:36 عصر
من از دیتا ست برای گزارشام استفاده میکنم دیگه این مشکل رو ندارم.یه امتحانی بکن.

bashir_nashi
یک شنبه 20 دی 1383, 13:52 عصر
ببینید بعد از اینکه شما یه DSN ساختید باید توی Crystal هم فیلدهاتون رو از همون DSN انتخاب کنید. بعد توی ساختن Setup تعیین می کنید که در کامپیوتر مقصد یه DSN به همون شکل بسازه و آدرس فایل رو برابر آدرس فایل Database در کامپیوتر مقصد قرار بده. به همین راحتی.
عزیز اینی که گفتی به نظر اصلا آسون نیست .
اولا منظورت از DSN کدوم تب است؟ تب اول یا دوم یا سوم از پنجره ODBC ؟
بعد تو crystal دیتابیس اون رو از قسمت ODBC همونی که ساختیم معرفی می کنیم.
تا اینجا انجام می شه ولی ایجاد ODBC رو یه سیستم دیگه رو بلد نیستم.



من از دیتا ست برای گزارشام استفاده میکنم دیگه این مشکل رو ندارم.یه امتحانی بکن.
reham جان من مشکلم اینه که وقتی از دیتا ست استفاده می کنم همون پنجره بالایی که عکسش رو زدم می آد.


کماکان منتظر راهنمایی های اساتید VB.NET هستم.

روانشناس
یک شنبه 20 دی 1383, 19:05 عصر
با استفاده از نرم افزارهای ساخت Setup باید روی سیستم مقصد اون DSN رو بسازی.

parandeh1383
دوشنبه 21 دی 1383, 13:16 عصر
hello
When your form is loaded,use from this code:

Dim rpt As New CrystalReport1() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New DataSet1() 'The DataSet you created.
Try

myConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" & _
"Initial Catalog=dabirdatabase;")
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT * FROM mytable"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand

myDA.Fill(myDS, "mytable")
rpt.SetDataSource(myDS.Tables(0))
CrystalReportViewer1.ReportSource = rpt

Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

you can use name of your server instead of localhost.

علیرضا مداح
جمعه 25 دی 1383, 09:51 صبح
سلام .


Dim myreport As New MyReport
Dim linfo As New CrystalDecisions.Shared.TableLogOnInfo
Dim cinfo As New CrystalDecisions.Shared.ConnectionInfo
cinfo.DatabaseName = "Database File Path"
cinfo.Password = "Database Password"
linfo.ConnectionInfo = cinfo
myreport.Database.Tables("TableName").ApplyLogOnInfo(linfo)

bashir_nashi
جمعه 25 دی 1383, 12:17 عصر
با تشکر از همگی

آقای مداح من از کد شما استفاده کردم ولی باز اون پنجره بالا می آد . چی بنویسم ؟

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

مشکلم هنوز پابرجاست. :(

bashir_nashi
شنبه 26 دی 1383, 21:39 عصر
با تشکر از همه دوستان به خاطر کمکها .
من با جستجو تو سایت متوجه شدم که تا حالا تقریبا 10 نفر سوالی شبیه مشکل من رو مطرح کرده بودند که جواباشون هیچکدوم کامل نبود ولی با جمع بندی اونا وقتی کد زیر رو تو لود فرم crystalview نوشتم مشکلم حل شد .




Dim myreport As New CrystalReport1()
Dim linfo As New CrystalDecisions.Shared.TableLogOnInfo()
Dim cinfo As New CrystalDecisions.Shared.ConnectionInfo()
cinfo.DatabaseName = "\data\main_data.mdb"
myreport.Database.Tables("factor_t").Location = Application.StartupPath & "\data\main_data.MDB"
linfo.ConnectionInfo = cinfo
myreport.Database.Tables("factor_t").ApplyLogOnInfo(linfo)
CrystalReport_sale.ReportSource = myreport

parandeh1383
یک شنبه 27 دی 1383, 11:29 صبح
Dim rpt As New CrystalReport1() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New DataSet1() 'The DataSet you created.
Try

myConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" & _
"Initial Catalog=mydb;")
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT * FROM mytable1"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand

myDA.Fill(myDS, "mytable1")
rpt.SetDataSource(myDS.Tables(0))
CrystalReportViewer1.ReportSource = rpt

Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

mikhak
یک شنبه 18 اردیبهشت 1384, 16:44 عصر
سلام جناب بشیر
من این کدی رو که شما دادین تست کردم متاسفانه عمل نکرد این ایراد رو میداد


Additional information: Error in File D:\DOCUME~1\Sina\LOCALS~1\Temp\temp_74a03b47-1325-47be-9f58-383c0ef69f6f.rpt:
Invalid table number.