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

Fermé
Henri27 - Modifié le 28 avril 2021 à 10:40
yg_be Messages postés 20773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 7 décembre 2022 - 29 avril 2021 à 09:52
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

yg_be Messages postés 20773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 7 décembre 2022 1 269
29 avril 2021 à 09:52
bonjour,
si j'étais toi, je ferais un essai de récupération des données en utilisant l'enregistreur de macros.
0