Salut à tous
J'ai un message d'erreur lorsque j'utilise sous VB6 le code suivant :
" ' IMPRESSION
' Appel de la boite de dialogue "Impression" pour
' configuration de l'imprimante
Dial1OBJ.CancelError = True
On Error GoTo ErrimpOBJ
Dial1OBJ.Filter = ""
Dial1OBJ.PrinterDefault = True
' Flags : H8 => Déactive l'option Pages H4 => Déactive la case option "Sélection"
' H100000 => Cache la case à cocher "Imprimer dans le fichier"
' 0100 => renvoi un contexte de périphérique pour l'imprimante sélectionné
' Les options Pages ... etc se retrouvent dans les options Crystal Report
' appelées par la suite
Dial1OBJ.Flags = &H8& Or &H4& Or &H100000 Or &O100&
Dial1OBJ.ShowPrinter
On Error GoTo 0
DoEvents
' Appel de l'état FICOBJ.RPT généré par Crystal Report
EtatOBJ.ReportFileName = Currep & "ficobj.rpt"
' Sélection des enreg à imprimer dans l'état Crystal Mess "{VIEW_IMPOBJ.VERSION} '" & Vers & "'"
EtatOBJ.SelectionFormula = Mess
'EtatOBJ.Destination = crptToPrinter
result = EtatOBJ.PrintReport
If (result <> 0) Then
reponse = MsgBox(EtatOBJ.LastErrorString, vbExclamation + vbOKOnly, "Erreur a l'impression")
End If
Exit Sub
ErrimpOBJ:
End Sub
"
...dans un projet VB
En fait, la méthode " result = EtatOBJ.PrintReport" renvoi l'erreur 20599 "Cannot open SQL Server".
Or, si je teste l'état depuis Crystal Reports 7 (5 avec MAJ 7) il s'imprime parfaitement bien et bien rempli avec les infos de la Base de Données.
Je n'utilise pas ta méthode mais là je ne vois pas le chemin de la base dans ton code du style :
EtatOBJ.DataFiles(0) = "Chemin de la base"
Crystal 7 est gonflant pour ça, il faut tout lui remettre dans le code.
Moi j'utilise souvent une DSN ou une connexion ADO pour eviter ce problème.
Salut. Et merci pour la réponse et le temps pris pour la faire. Mais...
Et bien non. Je met bien dans EtatOBJ.DataFiles(0) = "C:XXSOURCESBASEXX.MDB" dans une autre form.
De plus, j'utilise un fichier DSN.
Y a-t-il une manière spécifique d'en configurer un ?
:OB