Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Crystal report 8.5 et VB6

1 réponse
Avatar
mantion
Bonjour
J'ai developpe une application de gestion de videotheque avec une base
Accees à la laquelle je souhaite ajouter des editions en Crystal Report.
J'ai deux problemes le premier provient de crystal un message "le serveur n
est pas ouvert" ??? l'autre concerne la transmission de parametre de ma
requete........ Ex j ai besoin de toutes les infos du film "16 blocks" 16
blocks eest le parametre que je passe a crystal..........ca fait deux jours
que je galere je vous indique le code realise :

Les declarations de la Form
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 CRXPFDs As CRAXDRT.ParameterFieldDefinitions
Dim CRXPFD As CRAXDRT.ParameterFieldDefinition

le code de l'evenement refresh

Private Sub CRViewer1_RefreshButtonClicked(UseDefault As Boolean)

' Change le pointeur de souris en sablier
Screen.MousePointer = vbHourglass

RequeteCrystal = "select * from films where film_nom= '" & TitreFilm & "'"

' Initialise le recordset avec la requête et l'objet connection
RsRapport.Open RequeteCrystal, Cn
Report.Database.SetDataSource RsRapport
'Report.FormulaFields(0) = "variable=""" & TitreFilm & """"
' 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
' **************************
' c est ici que ca chie !!!!
'***************************
CRViewer1.ReportSource = Report
' Lance la visualisation du rapport
CRViewer1.ViewReport

' 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 CRXPFDs = Report.ParameterFields
' Récupère le premier champ paramètre de la collection
Set CRXPFD = CRXPFDs.Item(1)
' Ajoute la chaîne de caractères au champ paramètre
CRXPFD.AddCurrentValue (DynFieldStr)
' De même, pour un autre champ :
'DynFieldStr = "Une_autre_chaine_de_caractères"
'Set CRXPFD = CRXPFDs.Item(2)
'CRXPFD.AddCurrentValue (DynFieldStr)

CRViewer1.ReportSource = Report
'Report.RecordSelectionFormula = "{@formule_TitreFilm}= '" & TitreFilm & "'"

CRViewer1.ViewReport

' Le pointeur de souris redevient normal une fois le chargement effectué
Screen.MousePointer = vbDefault

RsRapport.Close


End Sub

Merci de vos eclaircissement

1 réponse

Avatar
mantion
J'ai oublie de preciser que le second probleme genere une erreur pour le
rafraichissement du CRViewer1.ReportSource = Report
le message est la methode refresh de l objet a échouee ????

"mantion" a écrit dans le message de news:

Bonjour
J'ai developpe une application de gestion de videotheque avec une base
Accees à la laquelle je souhaite ajouter des editions en Crystal Report.
J'ai deux problemes le premier provient de crystal un message "le serveur
n est pas ouvert" ??? l'autre concerne la transmission de parametre de ma
requete........ Ex j ai besoin de toutes les infos du film "16 blocks" 16
blocks eest le parametre que je passe a crystal..........ca fait deux
jours que je galere je vous indique le code realise :

Les declarations de la Form
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 CRXPFDs As CRAXDRT.ParameterFieldDefinitions
Dim CRXPFD As CRAXDRT.ParameterFieldDefinition

le code de l'evenement refresh

Private Sub CRViewer1_RefreshButtonClicked(UseDefault As Boolean)

' Change le pointeur de souris en sablier
Screen.MousePointer = vbHourglass

RequeteCrystal = "select * from films where film_nom= '" & TitreFilm & "'"

' Initialise le recordset avec la requête et l'objet connection
RsRapport.Open RequeteCrystal, Cn
Report.Database.SetDataSource RsRapport
'Report.FormulaFields(0) = "variable=""" & TitreFilm & """"
' 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
' **************************
' c est ici que ca chie !!!!
'***************************
CRViewer1.ReportSource = Report
' Lance la visualisation du rapport
CRViewer1.ViewReport

' 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 CRXPFDs = Report.ParameterFields
' Récupère le premier champ paramètre de la collection
Set CRXPFD = CRXPFDs.Item(1)
' Ajoute la chaîne de caractères au champ paramètre
CRXPFD.AddCurrentValue (DynFieldStr)
' De même, pour un autre champ :
'DynFieldStr = "Une_autre_chaine_de_caractères"
'Set CRXPFD = CRXPFDs.Item(2)
'CRXPFD.AddCurrentValue (DynFieldStr)

CRViewer1.ReportSource = Report
'Report.RecordSelectionFormula = "{@formule_TitreFilm}= '" & TitreFilm &
"'"

CRViewer1.ViewReport

' Le pointeur de souris redevient normal une fois le chargement effectué
Screen.MousePointer = vbDefault

RsRapport.Close


End Sub

Merci de vos eclaircissement