Bonjour,
Je souhaite utiliser ce code source trouver sur le net :
Avec la requête
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 Function ConcatForQuery(strRegroup As String, fldRegroup As String, _ strConcat As String, strTable As String, _ Optional strSep As String = "/") As String '** Regroupement de donnée sur le champ fldRegroup '** et concaténation sur le champ strConcat Dim db As Database Dim rst As Recordset Dim strResult As String Dim strRst As String Set db = CurrentDb() strRst = "Select * From [" & strTable & "] " _ & "Where [" & strRegroup & "] = """ & fldRegroup & """;" Set rst = db.OpenRecordset(strRst, dbOpenDynaset) With rst If Not .BOF Then .MoveFirst Do Until .EOF If strResult = "" Then strResult = .Fields(strConcat) Else strResult = strResult & strSep & .Fields(strConcat) End If .MoveNext Loop End If End With rst.Close: Set rst = Nothing db.Close: Set db = Nothing ConcatForQuery = strResult End Functionque j'ai trouvé à cette adresse : http://access.jessy.free.fr/htm/Quer...atForQuery.htm.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT fldNom, ConcatForQuery("fldNom",[fldNom],"fldPrénom","MaTable"," - ") AS Résultat FROM MaTable GROUP BY fldNom;
Je parviens à le faire marcher avec la requette suivante :
Cependant j'aimerais savoir pourquoi la requête ci-dessous ne fonctionne pas? Je suppose que les champs faisant office de variable doivent être formatés correctement (voila plusieurs années que je n'ai pas codé sous vb), style un problème de cote?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT idparcelle,ConcatForQuery("idparcelle",[idparcelle],"prise","parcelles_concat"," - ") AS Résultat FROM parcelles_concat GROUP BY idparcelle;
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT parcelles_concat.idparcelle,ConcatForQuery("parcelles_concat.idparcelle",[parcelles_concat.idparcelle],"parcelles_concat.prise","parcelles_concat"," - ") AS Résultat FROM parcelles_concat GROUP BY parcelles_concat.idparcelle;
*EDIT
Les deux requêtes exposées ci dessus sont exécutées à partir de la même table parcelles_concat.
Lorsque j'utilise l’assistant de requête de access puis que je bascule en mode sql, le champ apparait sous le nom parcelles_concat.idparcelle ( NOMDELATABLE.NOM DU CHAMPS). Cependant, access autorise, en mode sql, de simplifier le nom du champ. Ainsi le champ précédemment cité peut aussi s'écrire idparcelle.
Par avance merci,
Cordialement.
Partager