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 :

Crystal Report, String et VB6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de _ChToM_
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 111
    Par défaut Crystal Report, String et VB6
    Slt à tous

    voila mon problème.

    Je fais un petit programme VB6 qui traite des erreurs issues d'une base de données. Je voudrais afficher un rapport final à l'utilisateur par l'intermédiaire de Crystal Report 8.

    Mon problème est que lorsque je veux passer une chaine de caractères plus longues que ~260 caractères, VB n'aime pas du tout et plante totalement. Je pense que c'est surtout Crystal Report qui n'aime pas la longueur de la chaîne...

    Je voulais savoir si quelqu'un pouvait m'aider sur ce coup la car je suis un peu pommé...

    Peut être avec un tableau dynamique???
    Ou alors en modifiant mon état???
    Mon paramètre sous Crystal Report est de type Chaine.

    Je débute totalement sous VB6 et Crystal Report.


    Merci d'avance pour le coup de main.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Slt,

    tu peux nous fournir un peu de code ?

  3. #3
    Membre confirmé Avatar de _ChToM_
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 111
    Par défaut
    A vrai dire, j'ai un peu tout modifié depuis que j'ai posté le message...

    Ca donnait à peu près ca :

    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
     
        ...
        Dim crpParamDefs As CRAXDRT.ParameterFieldDefinitions
        Dim crpParamDef As CRAXDRT.ParameterFieldDefinition
     
        'On récupère l'ensemble des paramètres de l'état d'entête
        Set crpParamDefs = RpReport.ParameterFields
     
        For Each crpParamDef In crpParamDefs
            With crpParamDef
                Select Case .ParameterFieldName
                    Case "PARAM_STAT"
                        .SetCurrentValue my_string
                    Case Else
                        .SetCurrentValue ""
                End Select
            End With
        Next
        ...
    Pour tout dire, j'ai changé ma méthode mais je crois que c'est très porc...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
       cpt2 = 1
       Do While cpt2 <= Taille_de_MonTableau
          RpReport.Areas(3).Sections(1).AddTextObject MonTableau(cpt2), 10, (200 * cpt2)
             cpt2 = cpt2 + 1
       Loop
    ...

    Je vais découper ma longue chaîne de caractère en plusieurs chaînes de taille inférieure à 255, puis je stocke chaque bout de chaîne dans un tableau, et je recopie chaque case de mon tableau dans mon état.

    Le problème, c'est que je crée à chaque fois un nouveau champ Text.


    Quelqu'un a-t-il une solution plus propre???

  4. #4
    Membre confirmé Avatar de _ChToM_
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 111
    Par défaut
    Bon j'ai essayé de faire ce que j'ai dit juste au dessus.

    Le problème, c'est que il change de page à chaque ligne.

    Voici mon code :

    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
    Dim tmp As String
        Dim tmp2 As String
        Dim maChaine As String
        Dim retourChariot As String
        Dim i As Integer
        Dim j As Integer
        Dim cpt2 As Integer
        Dim MonTableau() As String
        Dim monTab_temp() As String
     
        ReDim Preserve MonTableau(1 To (Len(uneChaine) / 255) + 1)
     
        retourChariot = Chr(13) & Chr(10) 'retour a la ligne
        maChaine = ""
        tmp2 = Replace(uneChaine, vbCrLf, retourChariot)
        cpt2 = 1
     
        For i = 1 To Len(uneChaine) Step n
            monTab_temp = Split(Mid(tmp2, i, n), retourChariot)
            For j = 1 To UBound(Split(tmp, retourChariot))
                RpReport.Areas(3).Sections(1).AddTextObject monTab_temp(j), 10, (200 * cpt2)
                cpt2 = cpt2 + 1
            Next
        Next

Discussions similaires

  1. intégration de crystal report v8 dans vb6
    Par arfaou dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 13/11/2008, 11h16
  2. [Reporting] Comment créer des états Crystal Report à partir de VB6 ?
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/09/2006, 14h20
  3. Aperçu et impression d'un état Crystal Reports 11 dans VB6
    Par badseyar dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/09/2005, 15h25
  4. [Crystal Report 8.5 + VB6] Pbm déploiment
    Par La Gillasse dans le forum SDK
    Réponses: 2
    Dernier message: 14/10/2002, 15h19
  5. [Crystal Report][VB6] instruction PrintReport
    Par yyyeeeaaahhh dans le forum SDK
    Réponses: 4
    Dernier message: 29/07/2002, 14h58

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