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

Requêtes et SQL. Discussion :

Suite d'adresses mail séparée par , [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut Suite d'adresses mail séparée par ,
    Bonjour,

    J'ai un champs contenant des adresses mail. Je voudrais trouver un moyen de les afficher l'une à la suite des autres, séparées par une virgule.

    1@123.com
    2@456.fr
    ....

    = 1@123.com,2@456.fr

    Merci à vous

    Habiler

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Voici comment moi je procéderai :
    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
     
    dim sql, lesMails as String
    dim rst as DAO.Recordset
     
     
    sql = "SELECT adrMail FROM Machin WHERE truc"     'tu fait ta requête sql pour choper toute tes adresses mail
    Set rst = CurrentDb.OpenRecordset(sql)  'tu l’exécute 
     
    'Si ta requête te renvoie quelque chose, tu place ton rst en last
    If rst.RecordCount > 0 Then
        rst.MoveLast
    End If
     
     
    'tu parcoure toute tes adresses mail
    For i= 1 To rst.RecordCount      
         if i = 1 then
              'Si tu en est a la première adresse
              lesMails =rst!adrMail
         else
              'Si tu en est pas a la première adresse 
              lesMails = lesMails & ',' & rst!adrMail
         end if  
     
        rst.MovePrevious
    Next i
    J'ai pas testé donc il y a peut être une ou deux erreur de syntaxe, mais dans l'idée sa fonctionne. Si tu n'y arrive toujours pas dit le moi et j'irais faire des tests.

    Après bon pour afficher tu mes ta variable dans une zone texte (enfin ou tu veut la mettre quoi )

    Anto

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut
    Bonjour,

    Je mets ce code dans un module, un formulaire.

    Bref je ne sais ou mettre le code

    Habiler

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Re-bonjour,

    personnellement je ne me suis pas encore trop servie des modules, mais je pense que tu devrais mettre sa dans ton formulaire.

    Tu pourrais faire une fonction qui serais appelée au chargement de ton formulaire par exemple.

    Après je ne sais pas si il y a une meilleurs solution, mais sa me parais pas trop mal

    Edite : J'ai corrigé le code que je tes donné, en effet une des variable s'appelé rstC au lieu de rst

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 339
    Points : 19 574
    Points
    19 574
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Il y a des fonctions génériques du même type dans la faq, dans les sources et dans les contributions, comme celle-ci :

    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
    Public Function transpose(nomTable, nomChamp As String) As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
    On Error GoTo err_transpose
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(nomTable)
     
    Do Until rs.EOF
       transpose = transpose & rs(nomChamp) & ","
       rs.MoveNext
    Loop
     
       rs.Close
       Set rs = Nothing
     
       db.Close
       Set db = Nothing
     
       transpose = Left(transpose, Len(transpose) - 1)
     
    Exit Function
     
    err_transpose:
    MsgBox Err.Description
    transpose = vbNullString
     
    End Function
    Pour l'utiliser, il faut la copier dans un module standard, puis l'appeler dans du code VBA.

    Par exemple, pour mettre à jour une zone de texte dans un formulaire, tu peux écrire ce code sur l'événement activation du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Me.emails= transpose("T_Contact","email")
    End Sub
    Note que le paramètre nomTable, ici "T_Contact" peut aussi être une requête ou du code SQL.

    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

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

Discussions similaires

  1. Transfert FTP par adresse mail
    Par djoumusic dans le forum Services
    Réponses: 2
    Dernier message: 20/11/2009, 00h00
  2. Réponses: 6
    Dernier message: 20/08/2009, 11h42
  3. Réponses: 8
    Dernier message: 23/10/2008, 14h36
  4. Récupérer adresse erronnée + envoi par mail
    Par Cid67 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/04/2006, 11h17

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