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 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16