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 :

PROBLEME AVEC CRViewer


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 83
    Par défaut PROBLEME AVEC CRViewer
    Je fais une appllication en VB6 qui fait des rapports avec CR9.

    Quand je démarre mon application pour la première fois dans VB tout vas bien, les rapports s'affichent. Mais quand j'arrête mon application, pour faire des changements, et que je le démarre à nouveau dans VB, des qu'il exécute une fonction pour afficher un rapport CR, cette fenêtre apparet, VB plante et se ferme .

    Avez vous une idée pourquoi????, Je pense que CRVIEWER reste en mémoire et qu'il y a un confilt.

    Merci de votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Bonjour!

    Peux-tu nous donner un petit peu de code? Cela nous aiderait à voir plus clair.
    D'avance merci!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 83
    Par défaut info
    voici plus d'info..

    Dans la fenêtre ROBSELL MAIN, je choisis ( combobox ) le projet contenant les info ( mysql ). Je mest les info dans plusieurs recordset ( entete, vendeur, items..).

    Avec les boutons de droite ( proposition... ) de ROBSELL MAIN ou de ROBSELL RAPPORT , j'appele la procédure RAP en lui passant le type de rapport désiré.

    La procédure RAP utilise les recordset pour afficher le rapport désiré.

    Dans la procédure RAP, il a plusieur lignes que je ne saisi pas l'utilité. J'ai trouver et adapter un exemple trouver sur le web.

    merci de vottre aide

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
     
    Private Sub Combo1_Click()   ' choisis le projet 
     
    Set ITEMS_CHOIX = New ADODB.Recordset
    Set ITEMS = New ADODB.Recordset
     
     
    Set ENTETE = New ADODB.Recordset
    Set VENDU = New ADODB.Recordset
    Set LIVRE = New ADODB.Recordset
     
    Set Test = New ADODB.Recordset
    Set TRANS = New ADODB.Recordset
    .
    .
    ENTETE.Open "select * from JOB where JOB.NO_JOB = '" & Combo1.Text & "'", CONN
    If ENTETE.BOF = False Then
        TROUVER = "OUI"
        JOB_INFO = ENTETE.GetRows
        If JOB_INFO(8, 0) <> "" Then Text1.Text = JOB_INFO(8, 0)
        If JOB_INFO(5, 0) <> "" Then DTPicker1.Value = JOB_INFO(5, 0)
        If JOB_INFO(6, 0) <> "" Then DTPicker2.Value = JOB_INFO(6, 0)
        If JOB_INFO(9, 0) <> "" Then Combo4.Text = JOB_INFO(9, 0)
        If JOB_INFO(11, 0) <> "" Then Combo2.Text = JOB_INFO(11, 0)
        If JOB_INFO(7, 0) <> "" Then Combo3.Text = JOB_INFO(7, 0)
      '  If JOB_INFO(7, 0) <> "" Then Text7.Text = JOB_INFO(7, 0)
        If JOB_INFO(3, 0) <> "" Then DTPicker3.Value = JOB_INFO(3, 0)
       If JOB_INFO(4, 0) <> "" Then DTPicker4.Value = JOB_INFO(4, 0)
       If JOB_INFO(12, 0) <> "" Then Text2.Text = JOB_INFO(12, 0)
     
    Else
    TROUVER = "NON"
    End If.
    .
    end sub 
     
     
    Private Sub Command5_Click()           ' demande le rapport
     
    SORTE = "PROPOSITION"
    RAP
    end sub
     
     
     
    Sub RAP()
     
     
    Set VENDEUR = New ADODB.Recordset
     
    If VENDEUR.State = 1 Then VENDEUR.Close
    VENDEUR.Open "select * from EMPLOYER where EMPLOYER.NOM = '" & MAIN.Combo3.Text & "'", CONN
     
     
    SELL_RAPPORT.Show
     
    Dim crystal As CRAXDRT.Application                  'LOADS REPORT FROM FILE
    'Dim REPORT As CRAXDRT.REPORT                           'HOLDS REPORT
     
    SELL_RAPPORT.CRViewer.DisplayBorder = False     SELL_RAPPORT.CRViewer.DisplayTabs = False            SELL_RAPPORT.CRViewer.EnableDrillDown = False        SELL_RAPPORT.CRViewer.EnableRefreshButton = False   
     
    Set crystal = New CRAXDRT.Application        
     
    Select Case SORTE
     
    Case "PROPOSITION"
        Set REPORT = crystal.OpenReport App.Path  "\B_PROPOSITION.rpt")            REPORT.Database.Tables(4).SetDataSource ITEMS
    Case "BON_TRAVAIL"
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_TRAVAIL.rpt")           REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "BON_LIVRAISON"
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_LIVRAISON.rpt")           REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "FACTURE"
        Set REPORT = crystal.OpenReport(App.Path & "\B_FACTURE.rpt")            REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    End Select
     
     
    REPORT.PaperSize = crPaperLetter
     
     
     
    REPORT.DiscardSavedData      
     
     
    REPORT.Database.Tables(1).SetDataSource ENTETE
    REPORT.Database.Tables(2).SetDataSource LIVRE
    REPORT.Database.Tables(3).SetDataSource VENDU
    REPORT.Database.Tables(5).SetDataSource TRANS
    REPORT.Database.Tables(6).SetDataSource VENDEUR
     
     
     
    SELL_RAPPORT.CRViewer.ReportSource = REPORT 
    SELL_RAPPORT.CRViewer.ViewReport                          
     
    Do While SELL_RAPPORT.CRViewer.IsBusy                
       DoEvents                                          
    Loop                                                        
     
    SELL_RAPPORT.CRViewer.Zoom (2)             '94
     
     
     
    End Sub

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Au minimum, relire son message avant de le valider
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    Private Sub Combo1_Click()   ' choisis le projet
     
    Set ITEMS_CHOIX = New ADODB.Recordset
    Set ITEMS = New ADODB.Recordset
     
     
    Set ENTETE = New ADODB.Recordset
    Set VENDU = New ADODB.Recordset
    Set LIVRE = New ADODB.Recordset
     
    Set Test = New ADODB.Recordset
    Set TRANS = New ADODB.Recordset
    '******** .
    '******** .
    ENTETE.Open "select * from JOB where JOB.NO_JOB = '" & Combo1.Text & "'", CONN
    If ENTETE.BOF = False Then
        TROUVER = "OUI"
        JOB_INFO = ENTETE.GetRows
        If JOB_INFO(8, 0) <> "" Then Text1.Text = JOB_INFO(8, 0)
        If JOB_INFO(5, 0) <> "" Then DTPicker1.Value = JOB_INFO(5, 0)
        If JOB_INFO(6, 0) <> "" Then DTPicker2.Value = JOB_INFO(6, 0)
        If JOB_INFO(9, 0) <> "" Then Combo4.Text = JOB_INFO(9, 0)
        If JOB_INFO(11, 0) <> "" Then Combo2.Text = JOB_INFO(11, 0)
        If JOB_INFO(7, 0) <> "" Then Combo3.Text = JOB_INFO(7, 0)
      '  If JOB_INFO(7, 0) <> "" Then Text7.Text = JOB_INFO(7, 0)
        If JOB_INFO(3, 0) <> "" Then DTPicker3.Value = JOB_INFO(3, 0)
       If JOB_INFO(4, 0) <> "" Then DTPicker4.Value = JOB_INFO(4, 0)
       If JOB_INFO(12, 0) <> "" Then Text2.Text = JOB_INFO(12, 0)
     
    Else
    TROUVER = "NON"
    End If
    '*************************************************
    '***End If.
    '***.
    '*************************************************
    End Sub
     
     
    Private Sub Command5_Click()           ' demande le rapport
     
    SORTE = "PROPOSITION"
    RAP
    End Sub
     
     
     
    Sub RAP()
     
     
    Set VENDEUR = New ADODB.Recordset
     
    If VENDEUR.State = 1 Then VENDEUR.Close
    VENDEUR.Open "select * from EMPLOYER where EMPLOYER.NOM = '" & MAIN.Combo3.Text & "'", CONN
     
     
    SELL_RAPPORT.Show
     
    Dim crystal As CRAXDRT.Application                  'LOADS REPORT FROM FILE
    'Dim REPORT As CRAXDRT.REPORT                           'HOLDS REPORT
     
    '*************************************************
    '***SELL_RAPPORT.CRViewer.DisplayBorder = False     SELL_RAPPORT.CRViewer.DisplayTabs = False            SELL_RAPPORT.CRViewer.EnableDrillDown = False        SELL_RAPPORT.CRViewer.EnableRefreshButton = False
    '*************************************************
    SELL_RAPPORT.CRViewer.DisplayBorder = False
    SELL_RAPPORT.CRViewer.DisplayTabs = False
    SELL_RAPPORT.CRViewer.EnableDrillDown = False
    SELL_RAPPORT.CRViewer.EnableRefreshButton = False
     
    Set crystal = New CRAXDRT.Application
     
    Select Case SORTE
     
    Case "PROPOSITION"
    '*************************************************
    '***Set REPORT = crystal.OpenReport App.Path  "\B_PROPOSITION.rpt")            REPORT.Database.Tables(4).SetDataSource ITEMS
    '*************************************************
        Set REPORT = crystal.OpenReport(App.Path & "\B_PROPOSITION.rpt")
        REPORT.Database.Tables(4).SetDataSource ITEMS
    Case "BON_TRAVAIL"
    '*************************************************
    '***Set REPORT = crystal.OpenReport(App.Path & "\B_BON_TRAVAIL.rpt")           REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    '*************************************************
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_TRAVAIL.rpt")
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "BON_LIVRAISON"
    '*************************************************
    '***Set REPORT = crystal.OpenReport(App.Path & "\B_BON_LIVRAISON.rpt")           REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    '*************************************************
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_LIVRAISON.rpt")
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "FACTURE"
    '*************************************************
    '***Set REPORT = crystal.OpenReport(App.Path & "\B_FACTURE.rpt")            REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    '*************************************************
        Set REPORT = crystal.OpenReport(App.Path & "\B_FACTURE.rpt")
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    End Select
     
     
    REPORT.PaperSize = crPaperLetter
    REPORT.DiscardSavedData
     
    REPORT.Database.Tables(1).SetDataSource ENTETE
    REPORT.Database.Tables(2).SetDataSource LIVRE
    REPORT.Database.Tables(3).SetDataSource VENDU
    REPORT.Database.Tables(5).SetDataSource TRANS
    REPORT.Database.Tables(6).SetDataSource VENDEUR
     
    SELL_RAPPORT.CRViewer.ReportSource = REPORT
    SELL_RAPPORT.CRViewer.ViewReport
     
    Do While SELL_RAPPORT.CRViewer.IsBusy
       DoEvents
    Loop
     
    SELL_RAPPORT.CRViewer.Zoom (2)             '94
     
    End Sub
    Le copier/coller peut jouer des mauvais tours.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Ne devrais-tu pas fermer tous les objets encore ouverts?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set REPORT = Nothing
    Set Crystal = Nothing
    Il reste peut-être un fichier ouvert quelquepart. Jette aussi un oeil dans les jobs actifs (Gestionnaire de tâches) juste après avoir quitté l'application la 1ère fois.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 83
    Par défaut encore le probleme
    J'ai toujours le meme probleme. Dans le gestionnaire de tache, il a seulement une ligne pour mon application ROBSELL quant il s'exécute, il n'y en a pas pour le CRYSTAL REPPORT.

    J'ai ajouter les

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Set REPORT = Nothing
    Set crystal = Nothing
    sans aucun changement. En en exécutant mon code ligne par ligne, j'ai découvert le ligne fautive.


    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
     
     
    Select Case SORTE
     
    Case "PROPOSITION"
        Set REPORT = crystal.OpenReport(App.Path & "\B_PROPOSITION.rpt")        'OPEN OUR REPORT
        REPORT.Database.Tables(4).SetDataSource ITEMS
    Case "BON_TRAVAIL"
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_TRAVAIL.rpt")        'OPEN OUR REPORT
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "BON_LIVRAISON"
        Set REPORT = crystal.OpenReport(App.Path & "\B_BON_LIVRAISON.rpt")        'OPEN OUR REPORT
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    Case "FACTURE"
        Set REPORT = crystal.OpenReport(App.Path & "\B_FACTURE.rpt")        'OPEN OUR REPORT
        REPORT.Database.Tables(4).SetDataSource ITEMS_CHOIX
    End Select

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par metaldan MESSAGE N°3 Voir le message
    voici plus d'info..

    merci de vottre aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    '..............................................................
    Private Sub Combo1_Click()   ' choisis le projet 
     
    Set ITEMS_CHOIX = New ADODB.Recordset
    Set ITEMS = New ADODB.Recordset
    '.............................................................
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    On oublie donc mon dernier post (merci ProgElecT). Et maintenant, je n'ai plus trop d'idées... Désolée!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 83
    Par défaut merci
    Merci pour ton aide, même si le problème reste présent. Quand je vais faire ma deuxième application, je vais commencer par un rapport, avec peu d'info dedans, comme ça, je vasi peut-être cerné le problème.

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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