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

Signaler
Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Statut
Membre
Dernière intervention
9 mai 2016
-
Damboushow
Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Statut
Membre
Dernière intervention
9 mai 2016
-
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

Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Statut
Membre
Dernière intervention
9 mai 2016
2
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.
Messages postés
14234
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 février 2020
343
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
Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Statut
Membre
Dernière intervention
9 mai 2016
2
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é.
Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Statut
Membre
Dernière intervention
9 mai 2016
2
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 
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.