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
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.
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)
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.