Bonjour,

Suite à l'aide qui m'a été apportée par ce forum et ne maitrisant pas toutes les subtilités, je vous soumets cet extrait de code pour lequel je rencontre un problème.

Objectif : dans une table appelée "traitement_fiabilité" avec un champ nommé "fiabilité", je voudrais que la requête aille pointer dans cette table pour concaténer, par fournisseur la fiabilité séparée par un ;
avec la ligne ci-dessous, il me dit qu'il y a une erreur de syntaxe mais n'arrive pas à solutionner

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
varsql = "SeLect  [traitement_fiabilite]![Fiabilite] where [fournisseur]='" _
chr(34) & fiab & chr(34)

j'avais essayé de remplacer ! par . mais sans succès.
Peut être manque t'il un complément mais ?????


En revanche, si dans ma requête je sélectionne la table "traitement fiabilité", et avec la ligne ci-dessous, aucun soucis mais ce n'est pas ce qui m'intéresse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
sql = "SELECT fiabilite FROM traitement_fiabilite wHERE [fournisseur]=" & _
          Chr(34) & fiab & Chr(34)
appel de la fonction dans ma requête :

Nom : capture.png
Affichages : 151
Taille : 2,3 Ko



code complet :


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
Public Function Recupfiab(fiab As String) As String
 
Dim res As DAO.Recordset
Dim sql As String
 
 
sql = "SELECT fiabilite FROM traitement_fiabilite wHERE [fournisseur]=" & _
          Chr(34) & fiab & Chr(34)
 
 
 
 
Set res = CurrentDb.OpenRecordset(sql)
'Concatene les différents enregistrement
While Not res.EOF
    Recupfiab = Recupfiab & res.Fields(0).Value & ";"
    res.MoveNext
Wend
'Enleve le dernier ;
Recupfiab = Left(Recupfiab, Len(Recupfiab) - 1)
'libere la mémoire
Set res = Nothing
 
   End Function
Merci.