EXCEL VBA, Requettes SQL vers BD

Résolu
shared Messages postés 117 Statut Membre -  
shared Messages postés 117 Statut Membre -
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 :)

A voir également:

2 réponses

Thorak83 Messages postés 1140 Statut Membre 156
 
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
0
Thorak83 Messages postés 1140 Statut Membre 156
 
Voir aussi ici pour les différentes ConnectionString
https://www.connectionstrings.com/
0
shared Messages postés 117 Statut Membre 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
0