Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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"
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…