Comment adapter .CreateQuerfyDF dans une specifité ADODB sous VBA ?

Signaler
-
Messages postés
15372
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 avril 2021
-
Bonjour ,

j'ai changé de version Windows (W7 a W10) et les codes VBA que j'avais sous mon Excel de la W7 ne s'execute pas sur mon Excel W10 notamment a cause d'un pb de DLL (Composant DAO360) donc je peux pas utiliser cette reference.

Mon ancien code se presentait comme ceci :

Function GET_DATA_DB(X_k As Long)

Workbooks("FlexSJ_7.xlsm").Sheets(X_k).Activate
'ActiveSheet.Range(Range(Range("A2"), Range("A2").End(xlToRight)), Range(Range("A2"), Range("A2").End(xlToRight)).End(xlDown)).ClearContents
If Range("A2").Value <> "" Then
ActiveSheet.Range(Range(Range("A1"), Range("A1").End(xlToRight)), Range(Range("A1"), Range("A1").End(xlToRight)).End(xlDown)).Offset(1, 0).ClearContents
End If

requete_text = Sheets("Requete").Shapes(CStr(X_k)).TextFrame.Characters.Text

Set Query = cnx.CreateQueryDef("DATA")

With Query

.Sql = requete_text

Set Bonds_Data = .OpenRecordset(dbOpenDynaset)

ThisWorkbook.Sheets(X_k).Activate
ActiveSheet.Range("A2").CopyFromRecordset Bonds_Data

.Close

.Refresh
End With


Etant donné que je ne peux me connecter a ma base Oracle que avec la specifité ADODB et non ADO (non prise en charge par mon Excel), j'aimerai pouvoir adapter ce bout de code de telle sorte que je puisse l'utiliser avec les specificités ADODB. Car quand j'essaie d'executer ce code dans sur mon W10, j'ai un message d'erreur au niveau du Set Query : "Erreur de complilation: objet requis"

Merci d'avance

1 réponse

Messages postés
15372
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 avril 2021
843
bonjour,
si j'étais toi, je ferais un essai de récupération des données en utilisant l'enregistreur de macros.