Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Windows.Forms
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.IO
Imports System.Data.SqlClient
Imports System.Diagnostics.Process
Public Class Reports
#Region "Variables"
Private printFont As Font
Private streamToPrint As StreamReader
Dim cryRpt As ReportDocument
Dim FromDate, ToDate As Date
Dim RptDate As Date = Nothing
Dim Tit As String = ""
Dim Cn As New SqlConnection(ConStr)
Dim defaultPrinterName As String = ""
Dim setPaperSize As Short = 9 'A4
Dim setPaperOrientation As Short = 1 ' portail
#End Region
#Region "Report"
Public Sub AcMastReport()
Try
cryRpt = New ReportDocument
Tit = "Account Master Report"
RptFile("AcMasterRpt")
LoadReport(PaperSize.PaperA4, PaperOrientation.Portrait)
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Sub
#End Region
#Region "FixMethods"
Private Sub PDFExport()
Try
Dim CrExportOptions As ExportOptions
Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions()
CrDiskFileDestinationOptions.DiskFileName = (My.Application.Info.DirectoryPath & "\PDF.pdf")
CrExportOptions = cryRpt.ExportOptions
With CrExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
.DestinationOptions = CrDiskFileDestinationOptions
.FormatOptions = CrFormatTypeOptions
End With
cryRpt.Export()
RDFLoad()
Catch ex As Exception
MsgBox("Pdf Export Fails")
End Try
End Sub
Private Sub RDFLoad()
Try
Dim GetPrint As New Process
GetPrint.StartInfo.FileName = (My.Application.Info.DirectoryPath & "\PDF.pdf")
GetPrint.Start()
Catch ex As Exception
MsgBox("Pdf file is not present", MsgBoxStyle.Information)
End Try
End Sub
Private Sub Authetication()
SetLocation() 'dynamically changes rpt location
'cryRpt.SetDatabaseLogon(UserIdString, UserPasswordString, DSNString, Cn.Database) 'not requried for DSn with Win Nt authetication
End Sub
Private Sub SetLocation()
Dim LgInfo As New TableLogOnInfo
Dim TS As CrystalDecisions.CrystalReports.Engine.Tables = cryRpt.Database.Tables
For Each tb As CrystalDecisions.CrystalReports.Engine.Table In TS
LgInfo = tb.LogOnInfo
With LgInfo.ConnectionInfo
.ServerName = DSNString
.DatabaseName = Cn.Database
'.UserID = UserIdString 'not requried for DSn with Win Nt authetication
'.Password = UserPasswordString 'not requried for DSn with Win Nt authetication
End With
tb.ApplyLogOnInfo(LgInfo)
tb.Location = Cn.Database & ".dbo." & tb.Name
Next
End Sub
Private Sub LoadReport(ByVal PZ As PaperSize, ByVal PO As PaperOrientation)
Authetication()
setPaperSize = PZ
setPaperOrientation = PO
If PDF_Format = 0 Then
cryRpt.PrintOptions.PaperSize = PZ
cryRpt.PrintOptions.PaperOrientation = PO
CRV1.ReportSource = cryRpt
CRV1.Refresh()
Else
PrinterSettings()
PDFExport()
End If
End Sub
Private Sub RptFile(ByVal RptFileName As String)
RptFileName = "\" & RptFileName & ".rpt"
cryRpt.Load(My.Application.Info.DirectoryPath & RptFileName.Trim)
End Sub
#End Region
End Class
This will surely works
Sandeep
Senthilmcatyr, if this helps please login to Mark As Answer. | Alert Moderator