Rechercher : dans
Par :

[VBA] INSERT INTO statement

Dernière réponse le 21 avr 2008 à 00:07:32 fredo91170, le 12 oct 2006 à 17:21:47 
 Signaler ce message aux modérateurs

Bonjour a toues et à tous

Voila j ai un petit soucis de syntaxe avec ma commande INSERT INTO.
il semblemrait que cela soit sur la dernière ligne OracleCampaign
si quelqun peut m'aider

Merci d'avance

dB.Execute "INSERT INTO FINAL (MONTH, YEAR, OPE, [DATE OPE], LP, [CODE PRODUIT], VOLUME, " _
& "VARIATION, RAISON, [QTY ORDERED], [UNIT PRICE TTC], PRIME, PLAN, [FR CAMPAIGN]) values ('" _
& Right(Rs![Année-mois comptable], 2) & "', '" _
& Left(Rs![Année-mois comptable], 4) & "', '" _
& Right(Rs![Opé], 3) & "', '" _
& Rs![Date opé] & "', " _
& "'" & Rs![LP] & "', '" _
& Left(Rs![Titre], 4) & "', '" _
& Mid(Rs![Titre], 5, 2) & "', '" _
& Mid(Rs![Titre], 7, 1) & "', '" _
& rais(Rs![raison]) & "', '" _
& Rs![Qte] & "','" _
& Rs![Mt] & "', " _
& " '" & Rs![Prime] & "', '" _
& Rs![Plan] & "', '" _
& OracleCampaign(Rs!Plan, "CampagneOracle") & "'"

Meilleures réponses pour « [VBA] INSERT INTO statement » dans :
[VBA:VB6] Se servir d'excel à partir d'une autre application VoirCette petite routine permet d'appeler excel à partir de VB6 ou d'une autre application Office. A coller dans un module général (Module1 par exemple) En VBA >> Insertion >> Module, et dans cette fenêtre coller... En VB6 >> Projet >> Ajouter un...
Oracle - Les requêtes hiérarchiques VoirCet article se base sur des tests et recherches réalisés dans la version 8.1.5 d'Oracle. Introduction Tout au long de cet article, nous allons nous intéresser à une structure de données permettant de créer un Forum de discussion, matérialisé par...

1

blux, le 13 oct 2006 à 09:00:32

Salut,

oui, CampagneOracle est entre guillemets, et comme c'est le séparateur de ta chaine, ça ne va pas aller...

Il faut construire ta requête en passant par une variable string puis l'envoyer au db.execute...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

janis, le 16 avr 2008 à 16:54:37

J'ai toujours un message d 'erreur

dat = Date
a = Year(dat)
a1 = Month(dat)
dd = CStr(a & 0 & a1 & dy)

ChSQL = "INSERT INTO PV(TRADEID,ASOFDATE,CURVEID,LOCATION,[SYSTEM_LOCATION],APPLICATION,CCY,ASSETID,VALUE,ACCRUAL,CASHFLOW)" & _
" SELECT TRADEID,ASOFDATE,CURVEID,LOCATION,SYSTEM_LOCATION,APPLICATION,CCY,ASSETID,VALUE,ACCRUAL,CASHFLOW " _
& " FROM PV_PLS " & _
" WHERE PV_PLS.ASOFDATE = dd;"

Set qdf = oDb.CreateQueryDef("fill", ChSQL)


'erreur de syntaxe dans insert into
'j'ai verifié les noms de champs,la ponctuation mais rien à faire
'pouvez vous me dire si il y aurait une raison apparente que je ne connaitrai pas


End Sub

Répondre à janis

3

Polux31, le 16 avr 2008 à 17:31:14

Salut,

1 - ni bonjour, ni autre explication qu'un bout de code ...
2 - ajouter un post sur un sujet vieux de presque 2 ans ...
3 - ça donne pas envie de répondre ...

Répondre à Polux31

4

blux, le 16 avr 2008 à 22:22:34

Et pourtant, l'erreur est évidente... il suffit d'afficher ChSQL pour s'en rendre compte...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

5

janis, le 16 avr 2008 à 22:41:19

Dslé de pas aavoir mis plus que ça comme message
mais gt en plein projet so pas trop le temps
je ne vois toujours pas ou se situe l erreur
je comprends vite mais faut m expliquer longtemps
pouvez vous m'eclairer svp

Répondre à janis

6

amigo, le 16 avr 2008 à 22:44:13

Bonjour,

je pense que l'erreur est là
" WHERE PV_PLS.ASOFDATE = dd;"

ce serait plutot
" WHERE PV_PLS.ASOFDATE =" & dd & ";"

A+.

Répondre à amigo

7

janis, le 20 avr 2008 à 22:53:39

Salut

effectivement, il y avait une erreur au niveau :WHERE PV_PLS.ASOFDATE = dd;"
j'ai donc remplacé par
" WHERE PV_PLS.ASOFDATE =" & dd & ";" mais j'ai néanmoins une erreur " incompatibilité de type"
je ne vois pas ou peut se situer l'erreur . j'ai pensé que ça pouvait venir de
,[SYSTEM_LOCATION],APPLICATION,CCY,ASSETID,VALUE,ACCRU­AL,CASHFLOW)" & _
à cause de VALUE qui pourrait etre un mot réservé, j'ai ainsi changé le nom de mon champ mais apparemment l'erreur se situe ailleurs.

pouvez vs m'aider

merci

Répondre à janis

8

 amigo, le 21 avr 2008 à 00:07:32

Bonsoir,

D'après ce que j'ai pu comprendre, PV_PLS.ASOFDATE est une date
or tu ecrit:
dat = Date
a = Year(dat)
a1 = Month(dat)
dd = CStr(a & 0 & a1 & dy)

si dat=#20/04/2008#
a=2008
a1=4
il manque dy (dy=Day(date) )
alors
dd="20080420" (chaine de caractère et non une date)

donc assure toi que dd est bien une date avec le format adéquat, ce qui expliquerait " incompatibilité de type"
Est ce que ce ne serait pas plutot #20/04/2008# ou encore #4/20/2008# (format anglais)

D'autre part, en VB, la fonction Format est tres pratique pour formater les dates:
dd=Format(Date,"yyyy/mm/dd") donnerait dd="2008/04/20"
dd=Format(Date,"dd/mm/yyyy") donnerait dd="20/04/2008"
et d'autres format sont encore possibles.

Salut.

Répondre à amigo
Collection CommentÇaMarche.net