Accéder à une Database SQL via un code VBA

bonjour,

image image image

Bonjour ,

J'ai un probleme similaire car 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

End Function

J'aimerai adapter cette fonction en prenant plutot en compte les specificités ADODB et non DOA (vu que je ne l'ai pas dans mon Excel sous W10). En gros pouvoir utiliser le QueryDF sous ADODB.

Merci d'avance pour votre aide .

Dysorthographie: J'ai appliquée tes conseil et ai pu me co à ma database avec sucée.

image

Quelle est la prochaine étape ? Deplus quelle est la différence entre MySQL Workbench et manager ?

Henry27: A quoi sert ton code exactement ?

bonjour,

nous allons faire une connexion à la base de données dans Excel VBA!

Sub test()
Const Server = "LocalHost", Port = "3306", DataBase = "Bilant Carbonne", User = "root", Password = "XXXXX"
With CreateObject("ADODB.Connection")
    .Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=" & Server & ";Port=" & Port & ";Database=" & DataBase & ";User=" & User & ";Password=" & Password & ";"
    .Close
End With
End Sub

Workbench c'est

image

MySql et ça appartient à Oracle et

image

manager c'est Sql Server et ça appartient à Microsoft?

pour ce qui concerne Henry27 il c'est incrusté sur ton poste pour un problème qui le concerne et pour le coup rien à voir et en plus sa base est purement Oracle oublis il à ouvert une discussion !

image

Alors j'ai tenté la connexion mais sans succès. Je me demande si ce n'est pas un problème de bibliothèque, voici celle que j'ai utilisé pour mon lancement:

image

Tu utilises une version Excel 32 ou 64 bits?

J'arrive pas à accéder à cette information mais j'ai un système type 64 bit donc l'Excel qui va avec , je suppose. Je dois passé au 32 bit ?

image

Bonjour,

en fait tu peux, et c'est mon cas ,avoir un système d'exploitation 64Bits et un Excel 32bits!

image

cette image pour te montrer qu'il y à deux type de connecteur MySql ODBC un en 64 et un autre en 32 bits!

en fonction de ton Excel 32/64 il faut avoir le bon connecteur! ton message d'erreur tant à prouver que tu n'a pas la bonne version ODBC!

je t'avoue que j'ai installer MySql sur ma machine juste pour pouvoir te répondre er je me suis confronter au même problème que toi et j'ai ramé pour le faire fonctionner sur Excel!

je t'invite à télécharger les deux connecteur MySql 32 et 64!

image

https://dev.mysql.com/downloads/connector/odbc/

Alors j'ai télécharger la version 64 bit mais cela n'a pas fonctionné:

image

Je me demande si c'est due au étape de l'installation que j'aurai raté. J'ai choisi modify et j'ai sélectionné :

image

Il faut que tu télécharges la 32bis

Je peux avoir les deux ?

Oui bien car tu peux avoir des applications 32 ou 64;bits sur un système 64!

Moi par exemple ça ne fonctionne quand 32 alors que j'ai windows 10 64bits!

Tu aurais un lien , le fichier que j'ai trouvé me parait bizarre

image

Non je voulais te dire d'installer la version 32 bits du connecteur ODBC MySQL !

J'ai déjà les deux

je suis désabusé car chez moi ça fonctionne!

Il faut que je redémarre l'ordi ?

Jsuis perdu mec, maintenant même mon premier code ne fonctionne pas !

image

Sans parler du message que j'ai vue lorsque j'ai ouvert excel !

2021 04 29 4

Théoriquement tu as juste télécharger workbench et ODCB 32 et 64 bit ? Niveau bibliothèque , tu as fait un truc ou tu as ouvert un projet ?

J'ai fait exactement la même chose et chez moi ça fonctionne je ne sais plus quoi te dire !

Pour m'aider tu me dire comment tu a écris ton code ? Je suis sur que c'est problème de driver ! Voici les miens:

image
Rechercher des sujets similaires à "acceder database sql via code vba"