Problème lors d'une insertion dans une table

juju05

XLDnaute Junior
Je souhaite insérer des enregistrements dans une table stockée sous Oracle à l'aide de vba excel.

Pour cela, j'ai codé:
Code:
[/Set rsRecords = conn.Execute("INSERT INTO toppdm.object (ID_USER_CREATE, CREATION_DATE, TYPE, FILENAME , DESCRIPTION , ID_ENTREPRISE, FILELINKED,ID_OBJECT_CATEGORY, ORIGINAL_FILENAME, ID_COMPANY, LINK_TYPE) " _
                             & "VALUES (1661, to_date('29/05/2015','DD/MM/YY'),2, '" & chemin & "','" & nom_fichier & "',1,0,9,'" & chemin & "',1,3")CODE]

A l'exécution, j'ai un message d'erreur:

[CODE]ORA00917: virgule absente

A priori je dois mettre TYPE entre [].

La requête est-elle correcte ?
 

Dranreb

XLDnaute Barbatruc
Re : Problème lors d'une insertion dans une table

Bonjour.

Curieux cette partie constante "toppdm.object" alors que tout le reste est en majuscules…
Parce que c'est bien une partie constante, n'est-ce pas ?
Ce n'était pas …" & toppdm.object & "… que vous vouliez faire en réalité ?
 

Dranreb

XLDnaute Barbatruc
Re : Problème lors d'une insertion dans une table

Le tout est de bien distinguer les parties fixes et variable de l'expression String.
Vous devriez faire ça pour avoir l'occasion de vérifier le texte exact de la commande soumise à la méthode Execute de l'objet Conn:
VB:
Dim Z As String
Z = "INSERT INTO toppdm.object (ID_USER_CREATE, CREATION_DATE, TYPE, FILENAME, DESCRIPTION, " _
   & "ID_ENTREPRISE, FILELINKED, ID_OBJECT_CATEGORY, ORIGINAL_FILENAME, ID_COMPANY, LINK_TYPE) " _
   & "VALUES (1661, to_date('29/05/2015','DD/MM/YY'),2, '" & chemin & "','" & nom_fichier _
   & "',1,0,9,'" & chemin & "',1,3"
On Error Resume Next
Set rsRecords = conn.Execute(Z)
If Err Then MsgBox "Conn.Execute( " & vbLf & Z & vbLf & ") ==> Erreur " & Err.Number & vbLf _
   & Err.Description, vbCritical, "NomDeLaProcédure"
 

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 518
dernier inscrit
hbenaoun63