Bonjour
Dans une de mes application j'ai un etat "Crystal Report", il est fait.
J'aimerais le lancer en lui passant (id) en parametre.
Merci
Bonjour
Dans une de mes application j'ai un etat "Crystal Report", il est fait.
J'aimerais le lancer en lui passant (id) en parametre.
Merci
J'ai eu le même problème que toi et je n'ai pu que le contourner. Au lieu de passer l'ID a l'état ( je suppose que c'est pour faire une requête ensuite derrière), fais directement ta requête dans le formulaire et enregistre le résultat dans un dataset, ensuite passe le à la propriété "source" de l'état crystal report.
Si quelqu'un a une autre solution ça m'interresse aussi![]()
J'arrive surement trop tard pour te répondre mais ça pourra peut-être servir à quelqu'un d'autre.
J'utilise Crystal Report XI R2 avec Visual Basic .NET 2005 SP1 et une base Oracle 10G R2
Mes états sont stockés à part pour éviter de recompiler l'exécutable si je n'ai que l'état à modifier
Voilà le code que j'utilise pour ouvrir un état et passer des paramètres :
Dim ConnexionEtat As TableLogOnInfo
Dim ParametresConnexionEtat As ConnectionInfo
Dim Report As ReportDocument
Report = New ReportDocument
With Report
'Chargement état chemin debug / release ou exe
If My.Application.Info.DirectoryPath.Substring(My.Application.Info.DirectoryPath.Length - 5, 5).ToUpper = "DEBUG" _
Or My.Application.Info.DirectoryPath.Substring(My.Application.Info.DirectoryPath.Length - 7, 7).ToUpper = "RELEASE" Then
.Load(My.Application.Info.DirectoryPath & "\..\..\..\Etats\Report_Test.rpt")
Else
.Load(My.Application.Info.DirectoryPath & "\Etats\Report_Test.rpt")
End If
'Passage des paramètres de connexion (Je suis sous Oracle 10G)
ParametresConnexionEtat = New ConnectionInfo
With ParametresConnexionEtat
.ServerName = "InstanceTest"
.UserID = "Test"
.Password = "Test"
End With
ConnexionEtat = New TableLogOnInfo(.Database.Tables.Item(0).LogOnInfo)
ConnexionEtat.ConnectionInfo = ParametresConnexionEtat
.Database.Tables.Item(0).ApplyLogOnInfo(ConnexionEtat)
'Passage des paramètres de l'état
.ParameterFields.Item("ParamTest").CurrentValues.AddValue("test")
'Paramétrage de l'impression
.PrintOptions.PaperSource = PaperSource.Auto
End With
'Affichage à l'aide du Report Viewer
CrystalReportViewer.ReportSource = Report
CrystalReportViewer.Show()
Désolé pour la mise en forme, j'arrive pas à mettre les indentations correctement
Partager