IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

VB6 et Crystal report


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut VB6 et Crystal report
    Bonjour,
    Je suis en train de développez une application avec vb6, Je veux intégrer un rapport crystal report version(8.5), j'ai développez l'état avec crystal report et J'ai placé le contrôle CRViewer dans la forme et j'ai écrit ce code en vb6 dans ma forme
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Dim app As New CRAXDRT.Application
    Dim report As New CRAXDRT.report
    Dim rs As Recordset
     
    Private Sub Form_Load()
    Call ConnectDB
    Set rs = New Recordset
    rs.Open "select * from MFT_AR_DETAIL_FACTURE, MFT_AR_FACTURE where MFT_AR_FACTURE.FA_ID=MFT_AR_DETAIL_FACTURE.DF_FA_ID and FA_ID='" & frmfactures.txtid & "'", db, adOpenDynamic, adLockOptimistic
    Screen.MousePointer = vbHourglass
    Set app = New CRAXDRT.Application
    Set report = app.OpenReport("C:\Documents and Settings\HbargaouiV8\Bureau\Module DEBITEUR\Fac.rpt")
    report.Database.SetDataSource rs
    CRViewer1.ReportSource = report
    CRViewer1.ViewReport
    Screen.MousePointer = vbDefault
    end sub
    -'connectDB: c'est une méthode qui établit la connection à la base de donnée
    -'frmfactures.txtid: c'est le champs qui contient le numéro de la facture à relier avec l'état pour l'imprimer
    mais un msg d'erreur apparait et voilà le msg:
    "Server has not yet been opened"
    Svp vous pouvez m'aider
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Ça me désole de te voir sans réponses...
    As-tu regardé dans nos excellents tutoriels ?
    Et aussi dans la FAQ ?
    Je sais que les États nous mettent généralement dans tous nos états mais il me semble que tu trouveras dans ce qui existe déjà sur le forum ou sur le site Développez.com.

    Si tu ne trouves pas, tu dis.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    Salut,
    Croyez moi que jusqu'à maintenant je suis bloqué,
    Je sais très bien manipuler le crystal report et le vb6 mais ce problème d'integrer un état Crystal Report à mon programme je lui pas trouvé une solution. Le problème c'est que ma base de donnée est une base oracle sécurisée si j'exécute l'etat Crystal tout seul il me demande le mot de passe de la base avant de créer l'aperçu. Si je l'intègre avec vb6 comme j'ai indiqué auparavant j'ai une chaine de connexion pour la base mais ça ne marche pas il se bloque lors du chargement de l'etat puisqu'il ne trouve pas le mot de passe.

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Tiens donc... Un mot de passe... une base de donnée sécurisée...

    Si le serveur demande le mot de passe, c'est qu'il faut le mot de passe...

    Tu l'as ? (pas que je veuilles savoir le mot de passe, mais bien si tu l'as, toi...)

    Il me semble que le problème vient de là, précisément.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    Oui je sé bien que le problème vient de ce bette mot de passe mais je n'ai aucune solution de l'intégrer, j'ai pas trouvé une solution pour l'integrer lors du chargement du rapport car le rapport est charger a travers une forme vb6, si vous avez une solution n'hésiter pas de me la communiquer.
    Merci

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    Bonjour,
    J'ai pensé à une autre solution,
    J'ai installé le Crystal 8.5 au lieu de Crystal 2008, ce Crystal est intégré automatiquement avec VB6. J'ai intégré un objet Crystal à travers l'onglet Projet puis le sous menu Ajouter Crystal Report 8.5. J'ai paramétré la feuille Crystal report en la connectant à l'ODBC de ma base et bien sur ma base est sécurisée, par la suite j'ai choisi mes table, j'ai placé les champs sur la feuille Crystal Report puis j'ai passé à la forme créer automatiquement lors de la création du la feuille Crystal Report et j'ai écrit ce
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim Report As New CrystalReport1
    Dim rs As Recordset
     
    Private Sub Form_Load()
    Call ConnectDB
     
    Set rs = New Recordset
    rs.Open "select * from MFT_AR_FACTURE, MFT_AR_DETAIL_FACTURE where FA_ID=DF_FA_ID and FA_ID= '" & frmfactures.txtid.Text & "'", db, adOpenDynamic, adLockOptimistic
    Report.Database.SetDataSource rs
    Screen.MousePointer = vbHourglass
    CRViewer1.ReportSource = Report
    CRViewer1.ViewReport
    Screen.MousePointer = vbDefault
     
    End Sub
     
    Private Sub Form_Resize()
    CRViewer1.Top = 0
    CRViewer1.Left = 0
    CRViewer1.Height = ScaleHeight
    CRViewer1.Width = ScaleWidth
     
    End Sub
    ConnectDB: c'est la méthode de connexion à la base de donnée et voilà aussi son
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub ConnectDB()
    Set db = New adodb.Connection
    Dim ConnString As String
    ConnString = "Provider=MSDAORA.1 ; Password=live; User ID=v8live ; Data Source = v8; Persist Security Info=True"
    db.CursorLocation = adUseClient
    db.ConnectionString = ConnString
    db.Open
    End Sub
    J'ai appelé ce Form à travers un bouton imprimé et un bête message d'erreur et comme d'habitude s'affiche lors du chargement du form qui contien l'objet CRViewer, Le message:"Server has not yet been opened"
    Alors svp, svp,svp, svp si quelqu'un à travaillé sur ce genre de soucie c'est à dire Crystal Report et vb6 n'hésiter pas de me communiquer toute information qui peut m'aider, sincèrement je suis bloqué, et je sais bien le problème est au niveau du mot de passe de la base mais j'ai pas un autre choix, ce mot de passe est inconnu lors du chargement de l'état

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    Bonjour,
    Je remarque que jusqu'à maintenant il n'y a pas de réponse, et moi aussi je suis bloqué

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    J'attends vos réponse svp

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    voila maintenant le message d'erreur que j'obtient lors du chargement de l'etat

    login failed
    Détail: Ado Error code 0*8004005
    Source: Ora OLEDB
    Description: ORA-01005: null password given; logon denied
    Native error: 1005

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    J'ai peut-être une erreur semblable :

    Grosso modo, en utilisant CR v11 avec SQL Server, j'ai rencontré pas mal de soucis avec le client natif SQL Server 2005 (SQLNCLI).

    Dans mon cas,le driver natif n'est pas reconnu par CR et..
    1) CR lui-même n'arrive pas à se connecter lorsque l'on utilise une connexion utilisant ce driver y compris en utilisant la sécurité intégrée.
    2) le viewer, lui plante avec ce driver lorsqu'il y a un couple user/password ! (mais je ne souviens plus de l'erreur)

    Le support nous a conseillé d'utiliser un driver OleDB ou une source ODBC.
    Donc, dans l'appli VB, si la connexion utilise le driver natif, les informations de la connexion active sont utilisées pour recréer une connexion OleDb juste pour le viewer et depuis, plus (beaucoup) de soucis.

    J'espère que cela pourra t'aider/te donner une piste pour te débloquer.

  11. #11
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut
    bonjour 250rgv,
    Pour la connexion en vb6 j'ai crée un module et j'ai tapé ce code:
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Global db As adodb.Connection
    Sub ConnectDB()
    Set db = New adodb.Connection
    Dim ConnString As String
    ConnString = "Provider=MSDAORA.1 ; Password=live; User ID=v8live ; Data Source = v8; Persist Security Info=True"
    db.CursorLocation = adUseClient
    db.ConnectionString = ConnString
    db.Open
    End Sub
    à chaque fois ou j'utilise un recordset je fais appel à cette méthode
    Vous pouvez consulter mon msg de la date de 22/01/2010, 09h54, j'ai expliqué ce que j'ai fai
    Concernat votre réponse vous pouvez m'expliquer un peut

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    C'était pour te dire de tester avec un autre driver si tu pouvais ou au moins d'essayer avec une autre chaîne de connexion : selon le driver utilisé, la chaine que j'utilise dans l'application passe ou non avec CR.
    Et pour simplifier le débuggage, le viewer et CR ne réagissent pas forcément à l'identique.
    J'ai constaté à mes dépends que ce n'est pas parce que ADO travaille sans soucis avec une connexion utilisant un driver X que CR le fera aussi.


    Sinon, est-ce que tu a essayé avec le driver fourni par Oracle ?
    cf ici pour la différence entre les deux

    J'ai eu pas mal de problèmes (hors crystal) avec celui de Ms, avec celui d'Oracle, j'en ai eu d'autres (mais moins bloquants) donc, maintenant c'est driver made in Oracle

    sinon, voici comment je connecte mon état et ma base (CR v11 et driver made in Oracle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private sub ConnectCR(Report As CRAXDRT.Report)
      Dim cnn As CRAXDRT.ConnectionProperties
      Dim i As Integer
     
      ' pour chaque table/ DANS l'état, la faire repointer sur le schema de la connexion active et recréer les informations de connexion
    	For i = 1 To Report.Database.Tables.Count
    		Set cnn = Report.Database.Tables(1).ConnectionProperties      		
    		cnn.DeleteAll ' efface la connexion existante
    		' recrée une connexion pour Oracle
    		cnn.Add "Provider",  "OraOLEDB.Oracle"
    		cnn.Add "Data Source", <mon serveur>
    		cnn.Add "User ID", <mon utilisateur>
    		cnn.Add "Password", <mon mot de passe>
    		'  les autres propriétés sont apparemment non utliles
    		Report.Database.Tables.Item(i).Location = <mon utilisateur> & "." & Report.Database.Tables.Item(i).Name
    	Next i  
     
    End sub
    Je ne sais si ce code fonctionne tel quel, je l'ai extrait d'une fonction plus importante que ça.

    Bon courage,

  13. #13
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    Bonjour 250 rgv,
    Concernant mon problème, si j'exécute l'état Crystal Report tout seul, pour la première fois de la création de l'aperçu il me demande d'introduire le mot de passe, donc il m'affiche une boite de dialogue qui contient le nom de la base , le userid et moi je saisi manuellement le mot de passe. Maintenant au niveau de VB6 si je fais appel à cet état il ne trouve pas le mot de passe comme si il est vide donc il m'affiche directement le message d'erreur "Login Failed" c'est pour ça je cherche comment passer ce bête mot de passe à mon état à travers VB6,
    Vraiment j'ai posé cette question dans tous les forums et comme vous voyez aucune réponse, sincèrement je me bloque jusqu'à maintenant j'ai pas crée aucun rapport et j'en est besoin, s'il vous plais si vous avez une idée ou quelques informations n'hésiter pas de me les communiquer,
    Merci

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    j'ai regarder votre code et j'ai utilisé ce code mais la méthode
    ' .ConnectionProperties" n'existe pas voila mon code:
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Dim crxApp As CRAXDRT.Application
      Dim crxReport As CRAXDRT.Report
      Dim cn As ADODB.Connection
      Dim rs As ADODB.Recordset
      Dim crxTable As CRAXDRT.Database
      Dim crxArea As Area
      Dim sSQL As String
      Dim strFile As String
      Private Sub Form_Load()
     
        sSQL = "SELECT * FROM MFT_AR_FACTURE;"
     
        strFile = "Provider=oraoledb ; Password=live; User ID=v8live ; Data Source = v8; Persist Security Info=True"
     
       Set crxApp = New CRAXDRT.Application
       Set crxReport = crxApp.OpenReport(App.Path & "\test.rpt", 1)
       Set cn = New ADODB.Connection
       Set rs = New ADODB.Recordset
     
       cn.ConnectionString = strFile
       cn.Open
     
     
       rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic, adCmdText
     
     For Each crxTable In crxReport.Database.Tables
     
          With crxTable.ConnectionProperties
            .Item("Provider") = "oraoledb"
            .Item("Data source") = "v8"
            '.Item("Initial Catalog") = "Catalog"
            .Item("User ID") = "v8live"
            .Item("Password") = "live"
          End With
     
         crxTable.Location = strFile
     Next
      crxReport.Database.SetDataSource rs
      crxReport.PrintOut
     End Sub

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    Mon Crystal est en v11 et je ne sais pas ce qu'il en est avec la 8.

    mais une recherche avec google sur "CRAXDRT.ConnectionProperties" me donne plus de 2500 réponses...

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    est ce qu'elle existe avec Crystal 11???

  17. #17
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    Citation Envoyé par 250rgv Voir le message
    ...Grosso modo, en utilisant CR v11 avec SQL Server...
    Citation Envoyé par 250rgv Voir le message
    ...voici comment je connecte mon état et ma base (CR v11 et driver made in Oracle)...
    Citation Envoyé par 250rgv Voir le message
    Mon Crystal est en v11 et je ne sais pas ce qu'il en est avec la 8....

  18. #18
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut vb6, Crystal Report 2008 et BD Oracle
    s'il vous plais 250 rgv
    est ce que vous pouvez m'envoyer votre code de connexion telqu'il est une autre fois

  19. #19
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Par défaut
    Désolé, mais :
    1) je ne peut pas t'envoyer la fonction telle qu'elle est dans mon code, il y a trop de non spécifique à ton problème.
    2) j'ai posté une "extraction" du code, elle n'est peut-être pas fonctionnelle mais ne devrait pas en être trop éloignée pour du CR v11.
    3) "CRAXDRT.Report.Database.Tables(1).ConnectionProperties" me retourne 7150 réponses dont au moins deux sur la 1ere page ont "not defined" dans le résumé !

    Maintenant, je ne vois pas quoi faire/dire de plus à part faire coder à ta place mais comme cela ne serait pas te rendre service, à toi de faire des recherches sur le net.

Discussions similaires

  1. vb6 et crystal report
    Par bruce207 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 26/03/2008, 11h52
  2. Pb impression vb6 et crystal report
    Par mr_lassoued dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/09/2007, 14h13
  3. vb6 et crystal report
    Par loutheo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/03/2007, 19h35
  4. vb6 et Crystal Report
    Par michelk dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2006, 10h48
  5. VB6 et Crystal Reports 8.5, pb de chemin de base de données
    Par exe dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/09/2005, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo