Bonjour,
J'ai créé un formulaire sous Acess 07. Il contient différents champs à remplir, ainsi qu'un bouton de validation.
Au clic sur ce bouton de validation, une requête Sql est exécutée. Elle enregistre dans une table les données issues du formulaire.
J'utilise VB pour coder l'action au clic de ce bouton de validation. Et le soucis est que je parvient bien à enregistrer dans ma table les données issues du formulaire de types entier et string, mais pas les données de type monétaire.
En effet, lorsque j'entre un nombre entier cela fonctionne bien, mais lorsque je rentre dans mon formulaire un nombre à virgule, l'erreur suivante apparait :
" Erreur d'exécution '3346' :
Le nombre de valeurs de la requête doit coincider avec le nombre de champs destination. "
Et voici ma requête :
DoCmd.RunSQL "INSERT INTO CONSOMMABLE (numfsseur_conso, numconstructeur_conso, numcat_conso, libelle_conso, designfsseur_conso, qtemin_conso, ref_conso, prix_conso) VALUES (" & numfsseur & ", " & numconstr & ", " & numcat & ", '" & libelle & "'" & ", '" & designfsseur & "'" & ", " & qtemin & ", '" & ref & "'" & ", " & pu & ");"
J'ai donc là je pense un soucis de syntaxe pour l'enregistrement de données de type monétaire. Il est également à noter que j'ai déclaré des variables avant la requête, comme cela :
1 2 3 4 5 6 7 8
| Dim numfsseur As Integer
Dim numconstr As Integer
Dim numcat As Integer
Dim libelle As String
Dim designfsseur As String
Dim qtemin As Integer
Dim ref As String
Dim pu As Currency |
Je vous remercie par avance pour vos impressions, en espérant vous avoir là donné tous les éléments nécessaires.
Vini.
Partager