2010-12-03 36 views
0

J'utilise une fonction qui appelle un rapport de cristal comme:passage nom Crystal Report en tant que paramètre

ShowReport (Report1)

Dans spectacle rapport ShowReport:

Dim repDoc As New Report1 **' here i am want to assign crytalReport name** 
repDoc.SetDatabaseLogon("username", "*****") 
CrystalReportViewer1.ReportSource = repDoc 
CrystalReportViewer1.Visible = True 

Comment puis je faire ça ?

+1

Voulez-vous dire le nom du fichier de rapport à savoir filename.rpt – Saar

Répondre

1

J'ai fait quelque chose comme ça dans le passé que vous pourriez utiliser pour vos besoins. Normalement, j'utilise une liste déroulante ou une zone de liste pour permettre à l'utilisateur de sélectionner le fichier qu'il veut voir, puis d'utiliser l'index des éléments pour intFileId.

Private Sub OpenCR(ByVal intfileId As Integer) 
    Dim aReport As ReportDocument 
    Select Case intfileId 
     Case 0 : aReport = New CountSheets 
     Case 1 : aReport = New CategoryVariance 
     Case 2 : aReport = New DollarVariance 
     Case 3 : aReport = New CategoryVarianceAdmin 
     Case 4 : aReport = New DollarVarianceAdmin 
     Case 5 : aReport = New PhysicalCount 
     Case 6 : aReport = New BookToPhysicalCount 
     Case 7 : aReport = New MissingItemCodes 
    End Select 

    aReport.Refresh() 
    aReport.SetParameterValue("isAmtsShown", isAmtsShown) 
    aReport.SetParameterValue("parStoreID", StoreID) 
    aReport.SetDatabaseLogon("username", "password", "server", "table") 
    crvReports.ReportSource = aReport 

End Sub 

Pour répondre à la question spécifique concernant la transmission du nom comme argument. Vous pouvez le faire avec quelque chose comme ceci:

Private Sub RunReportbyName() 
    ' The Crystal Report name in 
    ' this project is MyReport.rpt 
    Dim aReport As ReportDocument = New MyReport 
    OpenCR(aReport) 
End Sub 

Private Sub OpenCR(ByVal RepDoc As ReportDocument) 
    'RepDoc.SetDatabaseLogon("","","","") 
    CrystalReportViewer1.ReportSource = RepDoc 
    CrystalReportViewer1.Visible = True 

End Sub 
+0

Thanx. Ça fonctionne bien. – Preeti