EXCEL VBA, Requettes SQL vers BD

[Résolu/Fermé]
Signaler
Messages postés
105
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
23 mai 2016
-
Messages postés
105
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
23 mai 2016
-
Bonjour,

Ce que je voudrai faire :
Je souhaite lancer des requettes SQL sur mon serveur depuis VBA

Mon code:
  
Sub exporter()
'connectin à la bd
Module2.connection
Dim LeSQL As String
LeSQL = "UPDATE conjecture SET txCroisPlasma = 20 WHERE annee = 2017"
DoCmd.OpenQuery LeSQL
End Sub


Ma question:
Ça ne fonctionne pas évidement, mais ma logique est-elle bonne?

Longue vie et prospérité financière à celui qui me répondra :)

2 réponses

Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
140
Bonjour,

Vous devez activer la librairie ADO dans l'éditeur Visual Basic.
Faire ALT + F11
Menu Outils/Référence et choisir "Microsoft ActiveX Data Objet x.x Library"

Dim CnxSql As ADODB.Connection
Dim LeSQL As String
CnxSql.ConnectionString = "Provider=SQLOLEDB;Server=SNOM_DU_SERVEUR;Database=NOM_BASE_DE_DONNEE;Trusted_Connection=yes;"
CnxSql.CursorLocation = adUseServer
LeSQL = "UPDATE conjecture SET txCroisPlasma = 20 WHERE annee = 2017"
CnxSql.Execute LeSQL


Concernant la chaine de connection (ConnectionString), renseignez vous, selon le type de base de données, le type de connexion ..
Voir la doc concernant ADO et VBA ici
https://drq.developpez.com/vb/tutoriels/ADO/

Cordialement
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
140
Voir aussi ici pour les différentes ConnectionString
https://www.connectionstrings.com/
Messages postés
105
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
23 mai 2016
5
Bonsoir,

j'avais déja inclu les bibliothèques, c'est la commande execute qu'il me manquait, cela fonctionne nikel. Voici la copie de mon code:


Dim indice As Integer
Dim LeSQL As String

Set cnx = New ADODB.connection
cnx.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=leader;User=root;Password=;"
cnx.Open

LeSQL = "UPDATE conjecture SET année = 20"
cnx.Execute LeSQL