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

IHM Discussion :

concaténation dans un état.


Sujet :

IHM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2018
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2018
    Messages : 105
    Par défaut concaténation dans un état.
    Bonsoir,

    je voudrais, dans un état, concaténer les valeurs d'un même champ vers un champ indépendant.
    Dans mon état, j'ai un champ "remarque", et je voudrais regrouper toutes les remarques au même endroit, dans le pied d'état.
    Est-ce possible ??

    par avance merci,
    fifi

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut


    Dans le pied d'état, tu ajoutes donc une zone de texte indépendante que tu nommes par exemple : txtConcatene.
    Dans la section détail, sur l'événement "Sur Formatage", tu inclus le code suivant :

    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        ' Déclaration des variables
        Static l_strRemarque As String
        Static l_intCompteur as Integer
     
        If l_intCompteur = 0 then
            ' Initialisation de la première concaténation
            l_strRemarque  = Me.Remarque
        Else
           ' Concatenation de la remarque avec la précédente en incluant un saut de ligne
            l_strRemarque = l_strRemarque & vbCrLf & Me.Remarque
        End If
     
        ' Initialisation du champ du pied d'état
        Me.txtConcatene = l_strRemarque
     
        ' Incrementation du compteur
        l_intCompteur = l_intCompteur +1
     
    End Sub
    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2018
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2018
    Messages : 105
    Par défaut
    Bonjour Jeannot45 et merci pour l'aide.

    Ca concatène bien les remarques dans le champ prévu.

    Cependant :
    1- j'ai la remarque du premier enregistrement qui apparait une seconde fois en fin de liste,
    2- si j'ai des enregistrements sans remarque, j'ai une ligne blanche dans le champ de concaténation pour chaque enregistrement sans remarque (j'ai un état qui comporte 16 lignes dont seule la première ligne à une remarque, ça me donne; remarque du premier enregistrement, 15 lignes blanches et remarque du premier enregistrement, à nouveau),
    3- si le premier enregistrement n'a pas de remarque, j'ai le message d'erreur :

    "utilisation incorrecte de Null", pour la ligne 8

    en "bricolant" le code comme suit :
    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        ' Déclaration des variables
        Static l_strRemarque As String
        Static l_intCompteur As Integer
     
        If l_intCompteur = 0 Then
            ' Initialisation de la première concaténation
            l_strRemarque = Me.DetSejour_Rmk
        Else
            If Me.DetSejour_Rmk = "" Or IsNull(Me.DetSejour_Rmk) Then
            GoTo InCre
            Else
           ' Concatenation de la remarque avec la précédente en incluant un saut de ligne
            l_strRemarque = l_strRemarque & vbCrLf & Me.DetSejour_Rmk
            End If
     
        End If
     
        ' Initialisation du champ du pied d'état
        Me.txt_ConcatRmk = l_strRemarque
     
    InCre:
        ' Incrementation du compteur
        l_intCompteur = l_intCompteur + 1
     
     
    End Sub
    les lignes blanches disparaissent, mais je n'ai rien trouvé pour les points 1 et 3 ci-dessus.

    fifi

  4. #4
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2018
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2018
    Messages : 105
    Par défaut
    en fait pour le point 1 :
    ce n'est pas juste la première remarque qui est affichée une seconde fois, ce sont toutes les remarques qui sont concaténées deux fois.

    fifi

  5. #5
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2018
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2018
    Messages : 105
    Par défaut
    Bonsoir,

    j'arrive a même résultat avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    On Error Resume Next
    DoCmd.GoToRecord , , acFirst
    If DetSejour_Rmk = "" Or IsNull(DetSejour_Rmk) Then
    Else
    txt_ConcatRmk.Value = txt_ConcatRmk.Value & vbCrLf & DetSejour_Rmk.Value
    End If
    eRRo:
    End Sub
    moins de lignes...
    mais autant je pouvais suivre le cheminement logique de la procédure dans le code précédant autant là je suis perplexe

    pourquoi la procédure balaie-t-elle tous les enregistrements alors qu'elle est juste envoyée au premier par "docmd.gotorecord,,acfirst", et surtout pourquoi deux fois ???????!!!!!!!!!

    en fait on dirait que la procédure se comporte comme si chaque ligne était un premier enregistrement.

    "étonnant, non??"

    des idées ????

    fifi

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut


    Je t'avoue que je ne comprends pas ton problème. Je te joins un extrait de ma gestion de bibliothèque ou j'ai concaténé les résumés des livres que j'ai lu. J'ai supprimer certains résumés afin d'avoir des champs vides.
    Lors de l'aperçu avant impression de l'état, la concaténation est correcte.

    J'ai numéroté les résumés pour voir s'il y avait des doublons. Pas de soucis.

    Pourrais-tu me mettre un extrait de ta base avec l'état concerné et ses sources, ça sera plus concret.
    Fichiers attachés Fichiers attachés
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Concaténer deux champs dans un état
    Par dmaignan dans le forum IHM
    Réponses: 3
    Dernier message: 30/03/2017, 08h38
  2. [CR] Orientations differentes dans même état
    Par ina dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 23/10/2008, 10h57
  3. concaténer deux champs dans un état
    Par isabelle b dans le forum IHM
    Réponses: 4
    Dernier message: 24/06/2008, 19h42
  4. Réponses: 2
    Dernier message: 13/10/2004, 15h32
  5. [CR 8.5] Numérotation des pages et rappel dans sous état
    Par Nout dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 02/09/2004, 13h43

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