Trouble INSERT -- La table n'existe pas [Résolu]

Damboushow 23 Messages postés vendredi 1 janvier 2016Date d'inscription 9 mai 2016 Dernière intervention - 3 janv. 2016 à 15:35 - Dernière réponse : Damboushow 23 Messages postés vendredi 1 janvier 2016Date d'inscription 9 mai 2016 Dernière intervention
- 3 janv. 2016 à 18:24
Bonjour, j'ai encore une petite difficulté à discuter avec ma BD, cette fois avec une commande insert. Le trouble se passe au niveau de la requète SQL, Il me dit que la table n'existe pas alors qu'elle existe et est bien orthographié et oui, j'utilise bien la bonne BD.

Avez vous une piste de solution pour m'aider dans mes recherches, ou est-ce une erreur de syntaxe de code qui pourrait causer ça?

Private Sub Enregistrer_Click()
Dim cat As Integer
cat = CInt(Me.categorie.Value)
Dim nom As String
nom = Me.nomItem.Value
Dim ref As String
ref = Me.refItem.Value
Dim qte As Integer
qte = CInt(Me.quantite.Value)
Dim mini As Integer
mini = Me.mininmum.Value
Dim fab As Integer
fab = Me.fabricant.Value
Dim strReq As String
srtReq = "INSERT INTO Inventaire([nomItem],[refItem],[categorie],[quantite],[mininmum],[fabricant]) VALUES (" & nom & "," & ref & "," & cat & "," & qte & "," & mini & "," & fab & ")"
Dim db As DAO.Database
'Dim rs As DAO.Recordset
Dim strChemin As String
strChemin = "c:\Users\Dambou\Komet\MagasinGuiro2016.accdb"
Set db = Application.DBEngine.OpenDatabase(strChemin, False, False)
db.Execute (strReq)
db.Close
Me.nomItem.Value = ""
Me.refItem.Value = ""
Me.quantite.Value = ""
Me.mininmum.Value = ""

End Sub

Merci pour votre aide.
Afficher la suite 

5 réponses

Répondre au sujet
Damboushow 23 Messages postés vendredi 1 janvier 2016Date d'inscription 9 mai 2016 Dernière intervention - 3 janv. 2016 à 18:24
+2
Utile
Merci pour ton aide, j'ai pris la décision il y à quelques minutes d'abandonner mon projet actuel et le reprendre de 0, il doit y avoir une erreur système dans mon projet access car j'ai maintenant le même message avec tous mes tables.

J'ai vérifié pour les caractères invisible et ce n'est pas le cas, merci pour la piste de solution.

Le point positif c'est que les connaissances acquises demeures :) et que mon code sera meilleur.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Damboushow
Whismeril 10821 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 3 janv. 2016 à 16:48
+1
Utile
1
Bonjour, ici http://codes-sources.commentcamarche.net/forum/affich-10058557-erreur-syntaxe-vba-sur-code-sql
Nhenry a eu l'obligeance de rendre ton message lisible, tout en te le signalant et en mettant un lien vers la procédure.

A aucun moment dans la suite de la discussion tu n'en as tenu compte.

Sache que nous sommes nombreux à ne pas vouloir se tuer les yeux et donc tu perds des réponses potentielles....
Damboushow 23 Messages postés vendredi 1 janvier 2016Date d'inscription 9 mai 2016 Dernière intervention - 3 janv. 2016 à 17:08
Merci, je n'avais pas pigé ce bout, j'avais regardé vite l'encadré et pris pour une pub. je vais évidement suivre ces recommandations. Merci de me l'avoir souligné.
Commenter la réponse de Whismeril
Damboushow 23 Messages postés vendredi 1 janvier 2016Date d'inscription 9 mai 2016 Dernière intervention - Modifié par Damboushow le 3/01/2016 à 17:24
0
Utile
Bonjour, Voici le code avec les balises de ma question.

Private Sub Enregistrer_Click() 
'ICI il y a les variables enlevé pour alléger
srtReq = "INSERT INTO Inventaire([nomItem],[refItem],[categorie],[quantite],[mininmum],[fabricant]) VALUES (" & nom & "," & ref & "," & cat & "," & qte & "," & mini & "," & fab & ")" 
Dim db As DAO.Database  
Dim strChemin As String 
strChemin = "c:\Users\Dambou\Komet\MagasinGuiro2016.accdb" 
Set db = Application.DBEngine.OpenDatabase(strChemin, False, False) 
db.Execute (strReq) 
db.Close 
Me.nomItem.Value = "" 
Me.refItem.Value = "" 
Me.quantite.Value = "" 
Me.mininmum.Value = "" 

End Sub 
Commenter la réponse de Damboushow
ucfoutu 18027 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 19 janvier 2018 Dernière intervention - 3 janv. 2016 à 18:02
0
Utile
Bonjour,
Je ne vois personnellement aucune erreur dans la construction de la chaîne de caractères de ta requête d'insertion, en admettant que la table Inventaire existe bien sous ce nom très exact (méfie-toi des caractères invisibles éventuels).
Je ne comprends par ailleurs (mais rien à voir avec ton message d'erreur) pas la nécessité de mettre entre crochets tes noms de champs. Ce n'est à ma connaissance nécessaire que si ces noms sont par ailleurs des mots clés de Access.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.