Bonjour à tous,

Voilà cela fait 3 jours que j'essaie de trouver la solution à mon problème et je n'y arrive pas.

J'ai une table nommée Constats qui comporte 2 champs : "ID_RNC" ( N° d'identification de l'incident ) et "Constats" ( description de l'incident ).

Le N° d'incident ( ID_RNC ) est généré par une autre table comportant d'autres renseignements.


Pour un même N° d'incident je peux avoirs plusieurs lignes dans ma table Constats.

J'ai créé du code pour concaténer toutes ces lignes en une seule afin de les mettre dans ma table principale. ( voir code ci-dessous )

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
Function regroupeconstat()
Dim db As Database
Dim sql10 As String
Dim Rs10 As DAO.Recordset
Dim qfd10 As DAO.QueryDef
Dim id10 As Variant
Dim constat10 As String
Dim constat20 As String
Dim a As Variant
Dim b As Integer
 
 
DoCmd.SetWarnings False
 
line31:
a = a + 1
 
Set qfd10 = CurrentDb.QueryDefs("Constats Requête")
qfd10.Parameters("[Formulaires]![regroup]![RID]") = a
 
 
Set Rs10 = qfd10.OpenRecordset
 
If Rs10.BOF = True And Rs10.EOF = True Then GoTo line32
 
 
 
Rs10.MoveFirst
While Not Rs10.EOF
    With Rs10
       id10 = .Fields("ID RNC").Value
       constat10 = constat10 & Rs10.Fields("Constats").Value
    End With
 
    Rs10.MoveNext
 
Wend
 
sql10 = "UPDATE [Chrono] SET [Chrono].Constats = " & constat10 & " WHERE [Chrono].ID_RNC ='" & id10 & "'"
 
DoCmd.RunSQL sql10
 
GoTo line31
 
line32:
 
b = b + 1
If b = 4 Then GoTo line33
GoTo line31
line33:
 
End Function
Lorsque j'exécute le code j'obtiens un message d'erreur ( le code s'arrête à DoCmd.RunSQL sql10 ).
Le message est le suivant
Erreur d'exécution '3075'. Erreur de syntaxe (opérateur absent ) dans l'expression 'La machine chauffe s'arrête fait du bruit WHERE [Chrono].ID_RNC='1".
J'ai fait plusieurs essai en modifiant le code de la requête SQL toujours le même message.

Quelqu'un a une idée sur mon problème ?