Access : Erreur de syntaxe (virgule)

lapinou1

XLDnaute Occasionnel
...dans l'expression '[N° de moule]

Bonjour tout le monde,

ne me sautez pas dessus je sais que l'on est sur excel mais sait-on jamais ;-)



J'ai repris plusieurs bases access et aujourd'hui je me retrouve avec
une erreur de syntaxe dont l'origine serait une ',' apparaissant dans
un champ.


Le code du bouton qui me génère l'erreur est celui-ci :
Private Sub Visserie_injection_097_Click()
On Error GoTo Err_Visserie_injection_097_Cli­ck


Dim stDocName As String
Dim stLinkCriteria As String


stDocName = 'F : SAISIE VISSERIE INJECTION'


stLinkCriteria = '[N° moule]=' & Me![N° moule]
DoCmd.OpenForm stDocName, , , stLinkCriteria


Exit_Visserie_injection_097_Cl­ick:
Exit Sub


Err_Visserie_injection_097_Cli­ck:


MsgBox Err.Description
Resume Exit_Visserie_injection_097_Cl­ick


End Sub


à près avoir placé quelques mMsgBox l'erreur se situerais par ici...


stLinkCriteria = '[N° moule]=' & Me![N° moule]
DoCmd.OpenForm stDocName, , , stLinkCriteria


Mon champ [N° moule] est en Réel double avec 1 décimale.


Sur quoi puis-je m'orienter pour résoudre ce pb ?


Enorme merci à vous pour votre aide et demandez moi les infos en plus
si vous avez besoin.


A très vite...
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Lapinou,

Heu... je ne connais pas Access, mais comme ça, moi j'essairais un truc de ce genre :

stLinkCriteria = '[N° moule]=' & Str(Me![N° moule])
ou
stLinkCriteria = '[N° moule]=' & cStr(Me![N° moule])

J'espère que ce n'est pas une énormité :eek: ...


Sinon, je t'orienterais vers.... un autre forum ! :p

Cordialement,
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Lapinou1,

[ol][ul][li]Ta variable stLinkCriteria attend une expression sous forme de chaîne de caractères (Dim stLinkCriteria As String )[/li]
[li]Tu précises que le champ N° moule 'est en Réel double avec 1 décimale', c'est donc une valeur de type numérique et non une chaîne de caractères.[/li]
[li]Avec l'expression Me![N° moule], tu obtiens donc une valeur numérique.[/li]
[li]Afin que l'expression stLinkCriteria = '[N° moule]=' & Me![N° moule] soit valide, il te faut donc convertir la valeur numérique Me![N° moule] en chaîne de caractères. C'est ici le rôle de la fonction Str().[/li][/ul][/ol]
Avec Excel, VBA est relativement 'tolérant' pour ce genre de problème et semble assurer de lui-même la conversion nécessaire... Visiblement, ce n'est pas le cas pour Access qui demande apparamment plus de rigueur dans l'écriture du code...

Cordialement,
 

Statistiques des forums

Discussions
312 792
Messages
2 092 142
Membres
105 235
dernier inscrit
loisipubm