1- Declare instance variables in the window you are working
String module
String Folder, FileName
Datawindow theDw
OLEObject g_ole_crx_application
OLEObject g_ole_crx_report
OLEObject g_ole_crx_connection_info
OLEObject g_ole_crx_export_options
OLEObject g_ole_crx_report_controls
String gs_rpt_filename, queryString, report_folder, report_file
OLEObject myoleobject
Long gi_return
//Please remove those variables you dont need
2- Paste following in any control (for example button)
String LoadFrom, LoadFile="C:\BT\SVN\Crystal\PB\app_reports_by_company_module.rpt"
Integer Object_Id
g_ole_crx_application = CREATE OLEObject
gi_return = g_ole_crx_application.ConnectToNewObject('CrystalDesignRunTime.Application.11')
if gi_return < 0 then
MessageBox("Error", "Not connected to Crystal report")
return
else
gs_rpt_filename = LoadFile
g_ole_crx_report = g_ole_crx_application.OpenReport(gs_rpt_filename)
end if
queryString = g_ole_crx_report.ApplicationName
g_ole_crx_connection_info =
g_ole_crx_report.database.tables[1].ConnectionProperties
g_ole_crx_connection_info.deleteAll
String ConnectInfo = ""
g_ole_crx_connection_info.add("Data Source", SQLCA.ServerName)
g_ole_crx_connection_info.add("Initial Catalog", SQLCA.Database)
g_ole_crx_connection_info.add("Database Type", "OLE DB (ADO)")
g_ole_crx_connection_info.add("Provider", "SQLNCLI10")
g_ole_crx_connection_info.add("User ID", SQLCA.logid)
g_ole_crx_connection_info.add("Password", SQLCA.logpass)
ConnectInfo += "Provider='SQLNCLI10';Data Source='" + SQLCA.ServerName + "';"
ConnectInfo += "Initial Catalog='" + SQLCA.Database + "';DatabaseType='OLE DB (ADO)';"
ConnectInfo += "User ID=" + SQLCA.logid + ";Password=" + SQLCA.logpass
g_ole_crx_connection_info.add("ConnectInfo", ConnectInfo)
g_ole_crx_report.database.Verify
g_ole_crx_report.SelectPrinter("HP LaserJet 2200 Series PCL 5","HP LaserJet 2200 Series PCL 5", "LPT1")
g_ole_crx_report.PrintOut (FALSE, 1, TRUE, 1, 1)