bonjour
A partir d'une requete nomé concatene vide à deux champs, 23 et boucle je souhaite concaténer sur une meme ligne tous les enregistrement du champ boucle qui ont comme point commun le champ 23 (le champ 23 est un champ texte)
voici le sql de ma requete
pour cela j'utilise ce module
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT concatenevides.[23], ConcatvideForQuery("23",[23],"boucle","concatenevides"," - ") AS Résultat FROM concatenevides GROUP BY concatenevides.[23] ORDER BY ConcatvideForQuery("23",[23],"boucle","concatenevides"," - ");
et bien sur cela ne marche pas.
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
42
43
44
45
46
47
48
49
50
51
52
53
54 Option Compare Database Public Function RecupParticipant(Projet As Long) As String Dim res As DAO.Recordset Dim SQL As String 'Selectionne les participant du projet SQL = "SELECT * FROM Tbl_Projet WHERE Projet=" & Projet Set res = CurrentDb.OpenRecordset(SQL) 'Concatene les différents enregistrement While Not res.EOF RecupParticipant = RecupParticipant & res.Fields(0).Value & " " res.MoveNext Wend 'Enleve le dernier espace RecupParticipant = Left(RecupParticipant, Len(RecupParticipant) - 1) 'libere la mémoire Set res = Nothing End Function Function ConcatvideForQuery(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 DAO.Database Dim rst As DAO.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 ConcatvideForQuery = strResult End Function
Access me renvoi "erreur d'exécution 3061, trop peu de parametres.1 attendu"
Merci de votre aide
Partager