Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
...
Dim info As New ConnectionInfo
Dim connection As String() = ConnectionString.Split(";"c) 'ไปเอาค่า Connection String มาใส่นะครับ
For Each value As String In connection
If value.ToLower.StartsWith("data") Then
info.DatabaseName = value.Substring(value.IndexOf("="c) + 1)
ElseIf value.ToLower.Contains("password") Then
info.Password = value.Substring(value.IndexOf("="c) + 1)
End If
Next
Dim rpt As New ReportDocument
Dim reportPath As String = Application.StartupPath & "\Reports\Summary.rpt" 'โหลด Report ขึ้นมาตาม Path ที่วางไว้ อยู่ที่ไหนก็ไปโหลดมาจากที่นั่นนะครับ
Try
rpt.Load(reportPath)
For Each table As CrystalDecisions.CrystalReports.Engine.Table In rpt.Database.Tables
Dim tableLogonInfo As TableLogOnInfo = table.LogOnInfo
tableLogonInfo.ConnectionInfo = info
table.ApplyLogOnInfo(tableLogonInfo)
Next
Catch ex As Exception
Throw ex
End Try
rpt.SetParameterValue("reportTitle", "ตัวอย่างการส่งค่าเข้า Report") 'ตัวอย่างการส่งค่าเข้าไป
เท่านี้ก็จะได้ Report ที่ไม่ต้องมีการถาม User และ Password รวมถึงถาม Parameter ด้วยครับ