Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Dim crtableLogoninfos As New TableLogOnInfos()
Dim crtableLogoninfo As New TableLogOnInfo()
Dim crConnectionInfo As New ConnectionInfo()
Dim CrTables As Tables
Dim CrTable As Table
Dim TableCounter
'If you are using a Strongly Typed report (Imported in
'your project) named CrystalReport1.rpt use the
'following:
Dim crReportDocument As New CrystalReport1()
'If you are using a Non-Typed report, and
'loading a report outside of the project, use the
'following:
Dim crReportDocument As New ReportDocument()
crReportDocument.Load("c:\myReports\myRepo rt.rpt")
'Set the ConnectionInfo properties for logging on to
'the Database
'If you are using ODBC, this should be the
'DSN name NOT the physical server name. If
'you are NOT using ODBC, this should be the
'physical server name
With crConnectionInfo
.ServerName = "DSN or Server Name"
'If you are connecting to Oracle there is no
'DatabaseName. Use an empty string.
'For example, .DatabaseName = ""
.DatabaseName = "DatabaseName"
.UserID = "Your User ID"
.Password = "Your Password"
End With
'This code works for both user tables and stored
'procedures. Set the CrTables to the Tables collection
'of the report
CrTables = crReportDocument.Database.Tables
'Loop through each table in the report and apply the
'LogonInfo information
For Each CrTable in CrTables
CrTableLogonInfo = CrTable.LogonInfo
CrTableLogonInfo.ConnectionInfo =
crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
'If your DatabaseName is changing at runtime, specify
'the table location.
'For example, when you are reporting off of a
'Northwind database on SQL server you
'should have the following line of code:
crTable.Location = "Northwind.dbo." &
crTable.Location.Substring(crTable.Location.La stIndexOf(
".") + 1)
Next
'Set the viewer to the report object to be previewed.
CrystalReportViewer1.ReportSource = crReportDocument
---------Access-------------
• If you are reporting off an Access database, then
specify either the 'ServerName' or 'DatabaseName'
to the 'ConnectionInfo' Object depending on
how you are connecting to Access.
For example, if you are connecting to Access
through ODBC, then set the 'DatabaseName' for the
'ConnectionInfo' object as follows:
With crConnectionInfo
.DatabaseName = "C:\mydatabase\mydata.mdb"
End With
If you are connecting to Access through OLE DB,
then set set the 'ServerName':
With crConnectionInfo
.ServerName = "C:\mydatabase\mydata.mdb"
End With
برای کسب اطلاعات بیشتر
http://support.businessobjects.com/l...c2010371.aspl]