Aide pour une requete

vinzemuls Messages postés 105 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 9 septembre 2009 - 18 juin 2007 à 13:10
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 18 juin 2007 à 14:49
Bonjour,

voilà je n'arrive pas à insérer une donnée dans ma table.

Pourtant ma requete fonctionne sous phpmyadmin ou autre donc je ne vois pas le soucis:

Voici ma requete:

sql = "INSERT INTO consommables VALUES (" & "'" & nom_consommable & "'," & "'" & reference & "'," & "" & id_type & ")"

mes champs de ma table consommables:

id, integer(5) auto_increment
nom_consommable varchar(30)
reference integer(10)
id_type integer(1)

Je pense que c'est pour le numéro automatique que ça déconne, vb me dit l'erreur suivante:

Le nombre de valeur de la requete doit correspondre avec le nombre de champs de destination

11 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 juin 2007 à 13:15
Salut,
Si référence est de type Integer, pourquoi l'entourer de ' '

essaie peu être simplement

Sql = "INSERT INTO consommables VALUES ('" & nom_consommable & "'," & reference & "," & id_type & ")"

@+: Ju£i?n
Pensez: Réponse acceptée
0
vinzemuls Messages postés 105 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 9 septembre 2009
18 juin 2007 à 13:16
je me suis tromper excusez moi , type varchar également mais ce n'est pas une erreur de type incompatible mais de correspondance des champs
0
vinzemuls Messages postés 105 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 9 septembre 2009
18 juin 2007 à 13:20
sql = "INSERT INTO consommables VALUES (" & "'" & nom_consommable & "'," & "'" & reference & "'," & "" & id_type & ")"


MsgBox (sql)


rc.Open sql, cx, adOpenDynamic, adLockOptimistic


rc.Update


rc.Close

Voilà exactement mes lignes de code
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 juin 2007 à 13:32
ca coince a cause de ton

id, integer(5) auto_increment

délcare les champs que tu insères :

"INSERT INTO consommables (nom_consommable, reference, id_type) VALUES (..."

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vinzemuls Messages postés 105 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 9 septembre 2009
18 juin 2007 à 13:41
et maintenant il me dit qu'il peut pas si l'objet est fermé
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 juin 2007 à 13:47
ca, ca vient du code qu'il y a autour....

cx.Execute "INSERT INTO ....."

devrait suffire

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 juin 2007 à 13:48
Ca c'est parceque cx est ferme peu etre

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
18 juin 2007 à 13:54
Salut tout le monde,

Comme le fait remarqué Jrivet, est-ce que ta connection est ouverte en local dans un formulaire, ou dans un module dés le lancement de ton aplli ?

Car le mieux et espère ne pas me trompé, c'est que ta connection à ta base soit toujours ouverte, et de la, tu fait "mumuse" avec le recordset et la connection...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 juin 2007 à 14:09
un Recordset ? pour une requete d'insertion ? euh....

a moins de faire des .AddNew... pas besoin ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
18 juin 2007 à 14:21
Salut Renfield,

Du moins c'est de la façon dont je procède, ma connection à ma base étant faite une bonne fois pour toute, et pour le reste je fait ainsi :

RstAdo.Open Sql, CnxAdo, adOpenDynamic, adLockPessimistic

Maitenant, je suis comme certains sur ce forum, toujours entrain d'appprendre, donc si ne pas du tout de cette façon qu'il faut procédé, ben, on va changer tout cela....
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 juin 2007 à 14:49
ben juste que un Open (recordset) avec une requete Insert Into, Update ou Delete....

pas besoin, quoi...

un :

CnxAdo.Execute Sql

suffit...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0