Visual basic 6 et crystal report 8.5

Contenu du snippet

J'ai cherché un peu partout comment arriver à faire tourner VB6 et Crystal Report et une base Access. Ce que j'ai trouve ne me paraissait pas tres clair j'ai donc essaye de faire un truc dynamique. En fonction de l'ecran d ou vient la demande d'impression, le ou les parametres à passer à Crystal sont declarées en variables globales ainsi que la requete. Le code ci-dessous vous montre comment fonctionne le lancement de l impression.

Source / Exemple :


' la fenetre apercu qui contient le composant CRview

Dim RsRapport As New ADODB.Recordset ' jeu d?enregistrements
Dim lStrSql As String ' Contient l?ordre SQL pour le recordset
Dim lStrConnect As String ' Contient la chaîne de connection à la base
Dim Report As New CRAXDRT.Report
Dim ApplicationReport As New CRAXDRT.Application
Dim Parametres As New CRAXDRT.ParameterValue
Dim ChampParametre As String
Dim CRXPFDParametres As CRAXDRT.ParameterFieldDefinitions
Dim CRXPFD As CRAXDRT.ParameterFieldDefinition

Private Sub Form_Load()

' Change le pointeur de souris en sablier
MousePointer = vbHourglass

' Initialise le recordset avec la requête et l?objet connection
RsRapport.Open RequeteCrystal, Cn
' Instancie l'objet application
Set ApplicationReport = New CRAXDRT.Application
' Lance la visualisation du rapport
Set Report = ApplicationReport.OpenReport(FichierRpt)
' Indique à l'objet de visualisation que les données viennent du rapport
CRViewer1.ReportSource = Report
' Définiton de la chaîne de caractères destinée à être inserée dans le rapport
DynFieldStr = TitreFilm
' Récupère la collection des champs paramètre du rapport
Set CRXPFDParametres = Report.ParameterFields
If Report.ParameterFields.Count <> 0 Then
    'boucle pour recuperer les parametres de l etat
    For i = 1 To Report.ParameterFields.Count
        ' Récupère le premier champ paramètre de la collection
        Set CRXPFD = CRXPFDParametres.Item(i)
        ' Ajoute la chaîne de caractères au champ paramètre
        CRXPFD.AddCurrentValue (DynFieldStr)
    Next
End If
' Lance la visualisation du rapport
CRViewer1.ViewReport
' Le pointeur de souris redevient normal une fois le chargement effectué
MousePointer = vbNormal

RsRapport.Close

End Sub

'Le code qui appelle la fenetre ci dessus
TitreFilm = Mid(frmdetail.Caption, 20)
RequeteCrystal = "select * from films where film_nom='" & Mid(Me.Caption, 20) & "'"
FichierRpt = "C:\program files\videotheque\Rpt\Fiche_Film.rpt"
frmApercu.Show

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.