Requete insert into dans une BD access

Signaler
Messages postés
49
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009
-
Messages postés
49
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009
-
bonjour à tous,

SVP j'ai l'instruction  suivante qui ne fonctionne pas
Dim Odbccommand1 As OdbcCommand = OdbcConnexion1.CreateCommand()
            Dim Odbccommand2 As OdbcCommand = OdbcConnexion1.CreateCommand()            Odbccommand1.CommandText "SELECT Opération FROM TAB_OPERATIONS WHERE CDOP " + TextBox4.Text
            Odbccommand2.CommandText = "INSERT INTO ORDONNANCEMENT(CodeORD,CodeLot,DateDebut,DateFin) VALUES ('f','f','a','c') WHERE CDPROD=" + TextBox3.Text
           
.....
 Dim aa As String            aa Odbccommand1.CommandText "INSERT INTO ORDONNANCEMENT(CodeORD,CodeLot,DateDebut,DateFin) VALUES ('f','f','a','c') WHERE CDPROD=" + TextBox3.Text
            Dim oo As Integer
            oo = Odbccommand2.ExecuteNonQuery()
            OdbcConnection1.Close()
.....
j'ai tjrs l'erreur :   point virgule manquant

Merci

7 réponses

Messages postés
36
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
17 avril 2014

Salut aa Odbccommand1.CommandText "INSERT INTO ORDONNANCEMENT(CodeORD,CodeLot,DateDebut,DateFin) VALUES ('f','f','a','c') WHERE CDPROD=" + TextBox3.Text*

c'est un exemple ou le valeur que tu doit vraiment envoyer , car en faisant cela tu suppose que toute les valeurs sont de type  chaine de caractère, cependant je voit des champs de type date.

J'aimerai que tu envoies les vrais valeurs que tu veux envoyer dans la base.

VISSO
Messages postés
49
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

j'ai mis les champs de type texte juste pour tester la connection

donc c'est pas une question de type, j'ai le msg  pointvirgule manquant que je ne comprend pas!!
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
67
Salut
En fait, tu as mélangé les type d'instruction.
Deux méthodes pour insérer des données :
-1- Tu fournis les valeurs directement :
   "INSERT INTO ORDONNANCEMENT " & _
   "       (CodeORD, CodeLot, DateDebut, DateFin) " & _
   "VALUES ('f','f','a','c')"
Pense à bien respecter les espaces entre les instructions et valeurs

-2- Tu fournis des valeurs issues d'une table, avec une méthode de sélection :
   "INSERT INTO ORDONNANCEMENT " & _
   "Select CodeORD, CodeLot, DateDebut, DateFin " & _
   "  From TAB_OPERATIONS " & _
   " Where CDOP = " + TextBox4.Text

Dernières choses : les règles de base de SQL :
Si la définition du champ dans la DB (pas dans VB) est de type :
- Texte : Encadrement des valeurs par des apostrophes '
- Chiffre : Pas d'encadrement
- Date : Encadrement des valeurs par des dièses #
Si le nom d'une table ou d'un champ comporte des caractères spécifiques à la langue (accents) ou des caractères spéciaux pour SQL (comme le souligné _ ), il faut encadrer ce nom avec des crochets droits [ et ]
Exemple : Ta table TAB_OPERATIONS devrait être écrite [TAB_OPERATIONS]

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
67
PS : J'oubliais.
Il faut absolument que le nombre et l'ordre des champs composant la table dans laquelle tu insères soit respecté.
Par exemple :
   "Select CodeORD, CodeLot, DateDebut, DateFin "
suppose que la table ORDONNANCEMENT dans laquelle tu insères les données, ait des champs de même nom et dans cet ordre.
Messages postés
49
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

Thanks for all !

si c'est possible je veus savoir qesqe ça veut dire le mgs d'erreur:
pointvirgule manquant !

Merci.
Messages postés
36
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
17 avril 2014

Salut
est ce que tu as essayer de prendre la requête et de l'executer directement dans ta base de données access.

Essaie et tiens moi au courant.

VISSO
Messages postés
49
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

Salut

la requete est juste mais c'était une contrainte dans la requete qui fesait le blocage

Merci à vous