rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[VBA] pb avec INSERT INTO

fredo91170, le mercredi 11 octobre 2006 à 15:53:22
Bonjour,

Voilà comme vous pourrez le constater j'ai un petit pb pour envoyer mes données de mon Recordset dans une table "FINAL" dont les champs sont déja créer mais ne portent pas les mêmes noms que ma table d'où proviennent mes données.
Mon soucis se pose au niveau de la syntaxe INSERT INTO je crois bien.
Si une âme charitable pourrais faire quelque chose !!

MERCI

Option Compare Database
'Public SQL As String
'Public dB As Database
'Public Rs As Recordset
Sub copy()
Dim System As String

Set dB = CurrentDb
Set Rs = Nothing

SQL = "SELECT [Opé],[Date opé],Lp,Titre,Raison,Qte,Mt,Prime,Plan FROM [Sales Orders It Macro]"
Set Rs = dB.OpenRecordset(SQL)

If Rs.RecordCount > 0 Then

Rs.MoveFirst

Do Until Rs.EOF

System = Rs!LP & "." & Left(Rs!Titre, 4) & "." & Right(Rs!Titre, 3)

Rs.MoveNext

dB.Execute "INSERT INTO FINAL (OPE,[DATE OPE],LP,[CODE PRODUIT],RAISON,[QTY ORDERED],[UNIT PRICE TTC],PRIME,PLAN) values"

Loop
End If


End Sub
Répondre à fredo91170  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Peut-êtreUneRéponse, le mercredi 11 octobre 2006 à 15:59:20
Rajoute le nom des champs d'où proviennent tes données après le terme values:

dB.Execute "INSERT INTO FINAL (OPE,[DATE OPE],LP,[CODE PRODUIT],RAISON,[QTY ORDERED],[UNIT PRICE TTC],PRIME,PLAN) values <ici>"

Dans le même ordre que les champs de la table FINAL énumérés après le INSERT TO FINAL.
Répondre à Peut-êtreUneRéponse

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fredo91170, le mercredi 11 octobre 2006 à 16:12:15
Desole mais je viens de faire ce que tu ma dis:

dB.Execute "INSERT INTO FINAL (OPE,[DATE OPE],LP,[CODE PRODUIT],RAISON,[QTY ORDERED],[UNIT PRICE TTC],PRIME,PLAN) values ([Opé],[Date opé],Lp,Titre,Raison,Qte,Mt,Prime,Plan)"

mais il bug toujours en me disant:
"too few parameters. Expected 9"

tu sais pourquoi?
Répondre à fredo91170

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Peut-êtreUneRéponse, le mercredi 11 octobre 2006 à 16:23:04
Ta table FINAL contient-elle d'autres colonnes que celles que tu alimentes?

Si oui tu dois aussi les renseigner... avec des valeurs par défaut par exemple.
Répondre à Peut-êtreUneRéponse

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fredo91170, le mercredi 11 octobre 2006 à 16:55:29
c'est le cas mais dans ma table d'origine j'ai 13 champs et dans celle de destination j'en ai 35
Alors comment le gerer
Répondre à fredo91170

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Peut-êtreUneRéponse, le mercredi 11 octobre 2006 à 17:03:54
Il faut que tu renseignes une valeur par défaut pour les colonnes supplémentaires de la table FINAL (35 - 9 = 26 valeurs par défaut)

Ou alors tu modifies le DDL de ta table et tu fais en sorte que les colonnes soit NULL WITH DEFAULT
Répondre à Peut-êtreUneRéponse

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 biskott, le vendredi 22 février 2008 à 20:27:06
monSQL = "Insert Into T_maTable(MonChamp1, monChamp2) Values ('Valeur1',Valeur2')"

Il faut que tu aies le même nombre de valeur que de champ. Comme tu le vois, tes champs sont délimité par un quote et une virgule : il faut donc que tes valeurs ne contiennent pas de quote (') - on y remédie en doublant le quote pour que l'instruction SQL ne l'interprete pas comme un quote de fin de champ.

Dans ton cas, il y a surement une erreur soit dans l'écriture (9 champs alors qu'il n'y en a que 8) soit dans les données (il y a un null et tu n'as pas mis de quote).
Répondre à biskott
Logiciels pertinents trouvés dans les téléchargements
Télécharger GANTT Project 2.0.7GANTT Project - GanttProject est un outil de gestion de projet libre, permettant de réaliser des diagrammes de GANTT afin de planifier un...Catégorie: Gestion de projet
Licence: Open Source
Télécharger Visual Basic Express 2005 2005Visual Basic Express 2005 - Le langage de programmation Visual Basic est historiquement dans les gènes de la société Microsoft. Avec plus de 30.000...Catégorie: Visual Basic
Licence: Freeware/gratuit
Télécharger AVS Disc Creator 2.1.5.100AVS Disc Creator - Avec AVS DiscCreator vous pouvez rapidement graver vos données sur CD/DVD et Blu-ray disc. <h2>Fonctionnalités</h2> ...Catégorie: Gravure
Licence: Freeware/gratuit
Télécharger Coloriage 1.1.4Coloriage - Coloriage est un logiciel de coloriage pour jeunes enfants, à la manière de Tux Paint . Il répertorie quelque 220 dessins à...Catégorie: Dessin
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [VBA] pb avec INSERT INTO »
Toutes les réponses pour « [VBA] pb avec INSERT INTO »