Excel : querytables erreur 1004

cs_tst69 Messages postés 2 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 29 septembre 2009 - 28 sept. 2009 à 15:55
cs_tst69 Messages postés 2 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 29 septembre 2009 - 29 sept. 2009 à 14:35
Bonjour,

Dans un classeur Excel, j'ai une quinzaine de requête SQL qui se connectent à une BDD Oracle, en VBA avec le code suivant :
Dim strSql As String, strChaine As String

Sheets("feuil1").Activate
Cells.Select
Selection.ClearContents
'Selection.QueryTable.Delete

strChaine = "OLEDB;Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=source"

strSql = "select Table1.*, date_apparition "
strSql = strSql & "from Table1, Table2 "
strSql strSql & "where table1.champ1 Table2.champ"

With ActiveSheet.QueryTables.Add(Connection:=strChaine, Destination:=Range("A1"), Sql:=strSql)
.AdjustColumnWidth = True
.FieldNames = False
.BackgroundQuery = False
.FillAdjacentFormulas = False
.PreserveColumnInfo = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertEntireRows
.RowNumbers = False
.SaveData = True
.SavePassword = True
.Refresh

End With

Sur la quinzaine de requête, trois échouent sur la methode refresh avec le code erreur 1004 : Erreur définie par l'application ou par l'objet
La requête SQL fonctionne bien dans Oracle.
Les paramètres de la collection Querytables sont identiques à toutes les requêtes.
Je ne comprends pas d'où vient l'erreur.

Merci de votre aide.

tst

1 réponse

cs_tst69 Messages postés 2 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 29 septembre 2009
29 sept. 2009 à 14:35
Le problème vient du formatage date des champs date des tables sur lesquelles les requêtes en erreur s'appuient. Un to_char règle le problème.


tst
0
Rejoignez-nous