2012-04-24 5 views
-1

J'ai un problème lors de l'appel du rapport Crystal 8.5 en utilisant la version 6.0. Je n'ai aucune idée de comment appeler ce rapport en utilisant vb. Ceci est par exemple de code que j'ai écrireRapport VB + Crystal

Private Sub Command1_Click() 
    openConnection 

    If Me.cmbMonth = "" And Me.cmbYear = "" Then 
     MsgBox "Please select MONTH and YEAR" 
     Exit Sub 
     End If 

    Set rs = New ADODB.Recordset 
    With crp 
     .ReportFileName App.Path & "\Report\VariableReport.rpt" 
     .WindowTitle "Report" 

    End With 

End Sub 
+1

Wow ... vb 6.0 Je n'ai pas touché cela depuis le lycée ... – Michael

Répondre

0
Dim tbl As CRAXDDRT.DatabaseTable 
Dim cn As New ADODB.Connection 
Dim rs As New ADODB.Recordset 
Dim m_rpt As String 

m_rpt = rs("Path") + "AnalysisCodeList2.rpt" 

crystalrpt.reportfilename = m_rpt 
crystalrpt.connect = rs("RptConnect") 

crystalrpt.ParameterFields(0) = "PrintUser;" & m_curUser & ";true" 
crystalrpt.ParameterFields(1) = "AnalysisCategory;" & CStr(Nz(cboAnalysisCategory.Value, "")) & ";true" 

If Nz(cboAccountCodeTo.Value, "") <> "" And Nz(cboAccountCodeFm.Value, "") = "" Then 
    crystalrpt.ParameterFields(2) = "AnalysisCodeRangeStart;" & CStr(Nz(cboAccountCodeFm.ItemData(0), "")) & ";true" 
    crystalrpt.ParameterFields(3) = "AnalysisCodeRangeEnd;" & CStr(Nz(cboAccountCodeTo.Value, "")) & ";true" 
Else 
    crystalrpt.ParameterFields(2) = "AnalysisCodeRangeStart;" & CStr(Nz(cboAccountCodeFm.Value, "")) & ";true" 
    crystalrpt.ParameterFields(3) = "AnalysisCodeRangeEnd;" & CStr(Nz(cboAccountCodeTo.Value, "")) & ";true" 
End If 

crystalrpt.ParameterFields(4) = "AnalysisCodeFilter;" & CStr(Replace(Nz(txtAccountCodeFilter.Value, ""), "*", "~")) & ";true" 
crystalrpt.ParameterFields(5) = "MatchCase;" & CStr(Nz(txtMatchCase.Value, "")) & ";true" 
crystalrpt.ParameterFields(6) = "Description;" & CStr(Nz(txtDescription.Value, "")) & ";true" 

crystalrpt.Action = 1 
+0

merci Martin, mais pouvez-vous me donner un peu d'explication sur ce codage. – user692495

0

Imports CrystalDecisions.CrystalReports.Engine Dim rpt As New ReportDocument rpt.Load (Application.StartupPath + "\ Rapport \ VariableReport.rpt") rpt.SetDataSource (rs)