2010-08-13 1 views

답변

2

에만 크리스탈 보고서 파일을 열고있는 PDF를 생성 할 재배포 DLL을보고 사용할 수 있습니다.

I ASP에서 직접 크리스탈 리포트 라이브러리를 열 수 있지만 문제가 없습니다 (또는 당신이 할 수있는 경우 VB6에서 COM DLL을 만들 수 있습니다)을 VB6의 DLL에

내가 가지고있는 일부 코드를 한 번도 안 써봤 Crystal Reports 9 사용 :

Private Sub Export(ReportFile as string) 
    Dim crxReport As Report 
    Set crxReport = Prepare(ReportFile) 

    crxReport.ExportOptions.FormatType = crEFTPortableDocFormat 
    crxReport.ExportOptions.DestinationType = crEDTDiskFile 
    crxReport.ExportOptions.DiskFileName = "C:\export\export.pdf" 
    crxReport.Export (False) 
end sub 


Private Function Prepare(ReportFile as string) As Report 

    Dim CRapp As CRAXDRT.Application 
    Set CRapp = New CRAXDRT.Application 
    Dim crxReport As Report 
    Dim aDatabaseObject As Database 

    Dim aDatabaseTableObject As CRAXDRT.DatabaseTable 
    Dim objConn As ConnectionProperty 


    Set CRapp = New CRAXDRT.Application 
    CRapp.SetLicenseKeycode ("XXXXXXXXXXXXXXXXXXXXXXXX") 
    Set crxReport = CRapp.OpenReport(ReportFile) 

    Set aDatabaseObject = crxReport.Database 
    Set cnn = New ADODB.Connection 
    cnn.ConnectionString = MyConnectionString() 

    Set aDatabaseObject = crxReport.Database 

    For Each aDatabaseTableObject In aDatabaseObject.Tables 
     Dim objCPProperties As CRAXDRT.ConnectionProperties 
     aDatabaseTableObject.DllName = "crdb_ado.dll" 
     Set objCPProperties = aDatabaseTableObject.ConnectionProperties 
     objCPProperties.DeleteAll 
     objCPProperties.Add "Provider", "SQLOLEDB" 
     objCPProperties.Add "Data Source", cnn.Properties.Item("Data Source").Value 
     objCPProperties.Add "Initial Catalog", cnn.Properties.Item("Initial Catalog").Value 
     objCPProperties.Add "User ID", cnn.Properties.Item("User ID").Value 
     objCPProperties.Add "Password", cnn.Properties.Item("Password").Value 
     aDatabaseTableObject.Location = aDatabaseTableObject.Name 
    Next 

    Set Prepare = crxReport 

End Function