Trouble INSERT -- La table n'existe pas

Résolu
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 - 3 janv. 2016 à 15:35
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 - 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.

4 réponses

Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 2
3 janv. 2016 à 18:24
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.
2
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
3 janv. 2016 à 16:48
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....
1
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 2
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é.
0
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 2
Modifié par Damboushow le 3/01/2016 à 17:24
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 
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 janv. 2016 à 18:02
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.
0
Rejoignez-nous