cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 6 févr. 2008 à 20:10
Salut
Dans ta syntaxe, prends soin de mettre un espace devant et derrière les symboles de concaténation &
"... WHERE ID_Risque = '' & R2 & '' "
... et en recopiant la ligne et en la mettant en forme, je m'aperçois que ce n'est pas un " mais deux ' que tu as utilisé. Pas glop :
-1- R2 est un Integer. Les règles de l'art veulent que tu précises la conversion Chiffre - Texte au lieu de laisser faire le VBA car, quelque fois, on a des surprises --> Utilisation de CStr
De plus, quand on concatène un chiffre à du texte, le format de ce texte conserve un espace devant (pour un éventuel signe moins) : cela peut perturber la compréhension du moteur SQL
-2- Tu veux insérer une variable, R2, dans une chaine de caractères.
Comme je suppose que ID_Risque est numérique, la donnée associée (en SQL) ne doit pas comporter d'encadrement, donc pas de ' devant ni derrière.
-3- Une chaine VB s'encadre avec des "
Il faut donc terminer la variable VB chaine, puis y ajouter derrière ta variable R2
Ce qui donne
"... WHERE ID_Risque = " & CStr(R2)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)