EXCEL VBA, Requettes SQL vers BD

Résolu/Fermé
shared Messages postés 105 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 23 mai 2016 - 1 avril 2015 à 16:55
shared Messages postés 105 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 23 mai 2016 - 2 avril 2015 à 02:23
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 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
1 avril 2015 à 17:34
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 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
1 avril 2015 à 17:36
Voir aussi ici pour les différentes ConnectionString
https://www.connectionstrings.com/
0
shared Messages postés 105 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 23 mai 2016 5
2 avril 2015 à 02:23
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