Message d'erreur Vb : "Trop de valeurs"

cs_jiojio Messages postés 20 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 4 juin 2006 - 11 janv. 2006 à 16:51
cs_jiojio Messages postés 20 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 4 juin 2006 - 12 janv. 2006 à 10:10
Bonsoir,
je suis sous VB6 et je voudrais effectuer une requête d'insertion selon des données que j'ai mis préalablement dans un tableau. Et cela me donne :

sql = "INSERT INTO COAEMP VALUES (3,'TabValeur(5)','','','TabValeur(6)','TabValeur(8)','TabValeur(7)','insee','TabValeur(20)',13,1,'11/01/2006','toto')"

Dans le TabValeur() il y a des informations sur des entreprises Raison Social, Adresse, Code Postale etc etc...
mais vb6 me fait un message d'erreur à cette ligne "Trop de valeurs"...
Je ne vois pas il y a trop de valeurs

merci d'avance

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 janv. 2006 à 17:14
salut,



vérifie que ta table COAEMP comporte bien 13 colonnes, et surtout, ta requête doit plutôt ressembler à :


sql = "INSERT INTO COAEMP VALUES
(3,TabValeur(5),"","",TabValeur(6),TabValeur(8),TabValeur(7),"insee",TabValeur(20),13,1,"#11/01/2006#","toto")"

_____________________________________________________________________
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 janv. 2006 à 17:55
Salut
-1- C'est pour ça qu'il est préférable d'utiliser la syntaxe complète :
Insert into ma Table
(monChamp1, monChamp2, ...monChampX)
Values (Valeur1, Valeur2, ... ValeurX)

-2- La syntaxe VB utilise " pour repérer les Strings
SQL, lui, utilise ' pour encadrer les valeurs

-3- Si TabValeur est un tableau VB et que c'est le contenu de ces variables que tu veux insérer :
sql = "INSERT INTO COAEMP " & _
VALUES (3," & CStr(TabValeur(5)) & ",'',''," & CStr(TabValeur(6)) & "," & _
CStr(TabValeur(8)) & "," & CStr(TabValeur(7)) & ",'insee'," & CStr(TabValeur(20)) & _
",13,1,'#11/01/2006#','toto')"
ou dans le genre, car on ne sait pas si TabValeur contient des chiffres ou des textes ...

5 minutes de recherche sur VBFrance ou sur www.sqlfr.com t'auraient permis de voir tes erreurs

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

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_jiojio Messages postés 20 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 4 juin 2006
12 janv. 2006 à 09:11
J'ai fait des recherches et ça ne fonctionne toujours pas...

Jack avec ce que tu m'as donné j'ai un : Erreur de compilation : Erreur de syntaxe au niveau des ,'','',

sql = "INSERT INTO COAEMP " & VALUES (3," & CStr(TabValeur(5)) & ",'',''," & CStr(TabValeur(6)) & "," & CStr(TabValeur(8)) & "," & CStr(TabValeur(7)) & ",'insee'," & CStr(TabValeur(20)) & ",1,'#11/01/2006#','toto')"

sinon j'avais un champ de trop mais il y a toujours un pb
0
cs_jiojio Messages postés 20 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 4 juin 2006
12 janv. 2006 à 10:10
sql = "INSERT INTO COAEMP VALUES (3,'" & CStr(TabValeur(5)) & "','','','" & CStr(TabValeur(6)) & "','" & CStr(TabValeur(8)) & "','" & CStr(TabValeur(7)) & "','" & CStr(insee) & "'," & CInt(TabValeur(20)) &",1,'#11/01/2006#','toto')"

bon j'ai réussi à obtenir cela en requête et j'ai un petit soucis sur un numérique...
tout les éléments du tableau sont des strings sauf l'élément TabValeur(20) qui est de type number(4) dans ma base...mais toujours un pb :(
0
Rejoignez-nous