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 :

Compiler une colonne (que du texte) dans un champ [AC-2007]


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2012
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 103
    Points : 76
    Points
    76
    Par défaut Compiler une colonne (que du texte) dans un champ
    bonjour tout le monde


    Voici mon problème
    j'ai une colonne nommé "NOM" avec plusieurs lignes (ex: 3) où se trouve le nom et le prénom de personnes. Dans mon formulaire j'aimerai avoir un champ où tout la colonne "NOM" soit compiler, où les différentes personnes soient séparées par un point virgule. Est-ce possible?
    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 859
    Points : 14 977
    Points
    14 977
    Par défaut
    Bonsoir,
    si par compiler tu entends concaténer c'est possible avec une boucle qui parcourt le recordset du formulaire, cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    Dim oRst As Recordset
    Set oRst = Me.RecordsetClone
        Me.LESNOMS = ""
        While Not oRst.EOF
            Me.LESNOMS = Me.LESNOMS & oRst.Fields("NOM") & ";"
        oRst.MoveNext
        Wend
     
    oRst.Close
    Set oRst = Nothing
    End Sub
    Mais dans quel but ce champ ?

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2012
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    bonjour

    Merci de ta réponse je vais tester ça demain
    le but final c'est pour l'envoie d'email par outlook via access (adresse email) ou l’édition du nom du fichier pdf créé quand il y a plusieurs personnes concernées.


    Merci encore

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2012
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    Bonjour


    Merci ton code marche

    j'ai voulu le changer pour qu'il puisse le faire sur toute les éléments du formulaire (c'est un formulaire plusieurs élément)
    Mais j'y arrive pas quand je le fais il me met que le nom de la personne de la page afficher et quand je vais sur la deuxième page il met deux fois le nom de la personnes et sur la troisieme 3 fois le nom et ainsi de suite.

    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
    Private Sub Form_Load()
    Dim oRst As Recordset
    Dim Rst As dao.Recordset
     
    Set Rst = Me.RecordsetClone
     
    If Rst.RecordCount > 0 Then
    Rst.MoveFirst
    While Not Rst.EOF
     
        Set oRst = Me.RecordsetClone
            If oRst.RecordCount > 0 Then
            oRst.MoveFirst
            Rst.Edit
            Rst!TOUSMAIL = ""
            Rst.Update
            While Not oRst.EOF
            Rst.Edit
            Rst!TOUSMAIL = Rst!TOUSMAIL & oRst.Fields("EMAILD") & ";"
            Rst.Update
     
            oRst.MoveNext
     
            Wend
            End If
     
    Rst.MoveNext
    Wend
    End If
     
    oRst.Close
    Rst.Close
    Set oRst = Nothing
     
    Set Rst = Nothing
     
     
     
     
     
    End Sub
    j'ai essayé différent code. Celui la c'est le dernier quand je le lance il me met un message d'erreur pour "Rst.MoveNext" il me dit qui n'y a "aucun enregistrement en cours".

    Merci d'avance pour votre aide

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2012
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    j'ai trouvé comment faire pourquoi chercher compliquer:

    Pour ceux que ça intéresse:
    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
    Private Sub Form_Load()
    Dim oRst As Recordset
    Dim Rst As dao.Recordset
    Dim MAILD As String
     
     
     
    Set oRst = Me.RecordsetClone
    oRst.MoveFirst
     
    Me.TOUSMAIL = ""
     
    While Not oRst.EOF
     
    Me.TOUSMAIL = Me.TOUSMAIL & oRst.Fields("EMAILD") & ";"
    MAILD = Me.TOUSMAIL
    oRst.MoveNext
    Wend
    oRst.Close
    Set oRst = Nothing
    Forms!DEMANDEUR.Requery
     
    Set Rst = Me.RecordsetClone
    If Rst.RecordCount > 0 Then
    Rst.MoveFirst
    Rst.Edit
    Rst!TOUSMAIL = ""
    Rst.Update
    While Not Rst.EOF
    Rst.Edit
    Rst!TOUSMAIL = MAILD
    Rst.Update
    Rst.MoveNext
    Wend
    End If
    Rst.Close
    Set Rst = Nothing
    Forms!DEMANDEUR.Requery
    End Sub
    ce que j'ai pas compris si au lieux de
    Me.TOUSMAIL = Me.TOUSMAIL & oRst.Fields("EMAILD") & ";"
    MAILD = Me.TOUSMAIL
    je mets seulement:
    Me.MAILD = Me.TOUSMAIL & oRst.Fields("EMAILD") & ";"
    ça marche pas il me mets seulement la dernière personne.

    Merci tee_grandbois

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/11/2012, 17h20
  2. Enregistrer un PDF dans une colonne de type text
    Par xelab dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2010, 18h42
  3. Ajouter une colonne (par du code) dans Listview
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2005, 18h39
  4. Réponses: 5
    Dernier message: 19/04/2005, 10h46
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 15h38

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