Bonjour
Sur le site j'ai trouvé un super tuto qui correspond tout à fait pour avoir le résultat que je souhaite obtenir.
C'est à dire avoir dans un champ la concaténation de x valeurs contenus dans x enregistrements.
Le lien est
http://access.developpez.com/sources...QLLigneColonne
Au Chapitre: Concaténer plusieurs enregistrements dans une seule colonne
et Option: R02
Avec pour 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 Public Function RecupProjet(Nom As String) As String Dim res As DAO.Recordset Dim SQL As String 'Selectionne les projet du partcipant 'chr(34) correspond a des guillemets pour encadrer le texte SQL = "SELECT Projet FROM Tbl_Projet WHERE NomParticipant=" & _ Chr(34) & Nom & Chr(34) Set res = CurrentDb.OpenRecordset(SQL) 'Concatene les différents enregistrement While Not res.EOF RecupProjet = RecupProjet & res.Fields(0).Value & ";" res.MoveNext Wend 'Enleve le dernier ; RecupProjet = Left(RecupProjet, Len(RecupProjet) - 1) 'libere la mémoire Set res = Nothing End Function
et requête SQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT DISTINCT Tbl_projet.NomParticipant, Recupprojet(NomParticipant) AS LesProjets FROM Tbl_projet;
J'ai adapté ce code à mon application et tout fonctionne très bien.
Sauf que le résultat obtenu dans le champ de cet exemple "LesProjets" est tronqué à 255 digits.
Dans mon cas je peux atteindre beaucoup plus voire beaucoup plus.
Peut-être faut-il préciser que le type de champ est de type "Mémo" ??
Si oui comment faire ?
Existe-t-il une solution ??
D'avance merci pour votre aide
Cordialement
Partager