Hamed_R
پنج شنبه 12 بهمن 1396, 10:53 صبح
با سلام
من تمامی گزارشاتم رو قبلا در کریستال ریپورت طراحی کردم. حالا نرم افزار رو تبدیل به VB.Net کردم ولی توی لود کردن گزارش مشکل دارم.
اول اینکه هر دفعه که کلید چاپ زده میشه تمامی پارامترها رو می خواد در حالی که تمامی پارامترهای داخل برنامه مقدار دهی شدن و باید کلید Close پنجره پارامترها رو بزنم تا درست بشه و بره مقادیر داخل برنامه رو برداره.
دوم اینکه وقتی ابزار Crystal Report Viewer رو در یه فرم دیگه قرار میدم و از فرم جاری اطلاعات رو می فرستم نمی تونه فایل گزارش رو باز کنه و خطا می ده.
سوم اینکه نام سرور، دیتابیس ، یوزر و پسورد رو درست ست نمی کنه. کد برنامه بصورت زیر هستش. ممنون میشم از دوستان اگه راهنمایی کنن.
[LTR_INLINE][LTR_INLINE]Dim crConnectionInfo As New ConnectionInfo
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim CrTables As Tables
Dim CrTable As Table
cryRpt.Load(Application.StartupPath.ToString & "\Reports\Rep_1.rpt")
CrystalReportViewer1.ReportSource = cryRpt
CrTables = cryRpt.Database.Tables
Dim Tedad_Parametr As Integer
cryRpt.SetDatabaseLogon(DatabaseUser, DatabasePass)
cryRpt.RecordSelectionFormula = Text_SelectFormula
Tedad_Parametr = Val(cryRpt.ParameterFields.Count.ToString())
For N = 0 To Tedad_Parametr
If cryRpt.ParameterFields(N).ParameterValueType = ParameterValueKind.NumberParameter Then
cryRpt.SetParameterValue(N, Val(Parameter_PRN(N)))
Else
cryRpt.SetParameterValue(N, Trim(Parameter_PRN(N)))
End If
Next N
crConnectionInfo.ServerName = ServerName
crConnectionInfo.DatabaseName = DatabaseName
crConnectionInfo.UserID = DatabaseUser
crConnectionInfo.Password = DatabasePass
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
crConnectionInfo.IntegratedSecurity = True
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
CrTable.Location.Substring(CrTable.Location.LastIn dexOf(".") + 1)
Next
CrystalReportViewer1.Refresh
CrystalReportViewer1.ReportSource = cryRpt
من تمامی گزارشاتم رو قبلا در کریستال ریپورت طراحی کردم. حالا نرم افزار رو تبدیل به VB.Net کردم ولی توی لود کردن گزارش مشکل دارم.
اول اینکه هر دفعه که کلید چاپ زده میشه تمامی پارامترها رو می خواد در حالی که تمامی پارامترهای داخل برنامه مقدار دهی شدن و باید کلید Close پنجره پارامترها رو بزنم تا درست بشه و بره مقادیر داخل برنامه رو برداره.
دوم اینکه وقتی ابزار Crystal Report Viewer رو در یه فرم دیگه قرار میدم و از فرم جاری اطلاعات رو می فرستم نمی تونه فایل گزارش رو باز کنه و خطا می ده.
سوم اینکه نام سرور، دیتابیس ، یوزر و پسورد رو درست ست نمی کنه. کد برنامه بصورت زیر هستش. ممنون میشم از دوستان اگه راهنمایی کنن.
[LTR_INLINE][LTR_INLINE]Dim crConnectionInfo As New ConnectionInfo
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim CrTables As Tables
Dim CrTable As Table
cryRpt.Load(Application.StartupPath.ToString & "\Reports\Rep_1.rpt")
CrystalReportViewer1.ReportSource = cryRpt
CrTables = cryRpt.Database.Tables
Dim Tedad_Parametr As Integer
cryRpt.SetDatabaseLogon(DatabaseUser, DatabasePass)
cryRpt.RecordSelectionFormula = Text_SelectFormula
Tedad_Parametr = Val(cryRpt.ParameterFields.Count.ToString())
For N = 0 To Tedad_Parametr
If cryRpt.ParameterFields(N).ParameterValueType = ParameterValueKind.NumberParameter Then
cryRpt.SetParameterValue(N, Val(Parameter_PRN(N)))
Else
cryRpt.SetParameterValue(N, Trim(Parameter_PRN(N)))
End If
Next N
crConnectionInfo.ServerName = ServerName
crConnectionInfo.DatabaseName = DatabaseName
crConnectionInfo.UserID = DatabaseUser
crConnectionInfo.Password = DatabasePass
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
crConnectionInfo.IntegratedSecurity = True
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
CrTable.Location.Substring(CrTable.Location.LastIn dexOf(".") + 1)
Next
CrystalReportViewer1.Refresh
CrystalReportViewer1.ReportSource = cryRpt