Changer le code d'une requête SQL d'une base access via un code VBA Excel
Résolu
Piloux_0613
Messages postés
3
Statut
Membre
-
Piloux_0613 Messages postés 3 Statut Membre -
Piloux_0613 Messages postés 3 Statut Membre -
Bonjour
Je voudrais juste savoir si on pouvait changer le code SQL d'une requete access via un code VBA executé depuis Excel.
La requête est une union entre tout les tableaux et pour aléger le nombres de données à transférer, je voudrais pouvoir changer la requête à la source afin de selectionner les données tableau par tableau
J'ai activé les Acess et les DAO Object Lybrary
Je voudrais juste savoir si on pouvait changer le code SQL d'une requete access via un code VBA executé depuis Excel.
La requête est une union entre tout les tableaux et pour aléger le nombres de données à transférer, je voudrais pouvoir changer la requête à la source afin de selectionner les données tableau par tableau
J'ai activé les Acess et les DAO Object Lybrary
SELECT *
FROM [S15_2020]
UNION SELECT *
FROM [S16_2020]
UNION SELECT *
FROM [S17_2020]
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, tu n'expliques ni ce que tu fais, ni comment tu le fais.
la requête est-elle définie dans Access et exécutée depuis Excel?
dans ce cas, il est peut-être préférable, au lieu de la modifier, de la définir dans le code VBA sous Excel. -
En fait j'exploite cette requête via Power Query.
Mon objectif est de changer le code de la requête Access, que Excel envoie à la base de donnée le nouveau code, code que j'aurais défini dans VBA.
Quelque chose comme:Dim Code as string
Code = "SELECT *" & vbCrLf & _
"FROM [S15_2020]" & vbCrLf & _
"UNION SELECT *" & vbCrLf & _
"FROM [S16_2020];"
Set Coderequete = Code
J'ai juste a changer la variable Code et executer le programme pour redéfinir le code SQL de la requête-
je ne suis pas convaincu que c'est la bonne chose à faire, et voici un exemple dont tu peux peut-être t'inspirer:
Private Sub yy() Dim qr As QueryDef, sourcesql As String Set qr = CurrentDb.QueryDefs("nom de la requête") sourcesql = "SELECT ..." qr.sql = sourcesql End Sub
l'exemple est pour du VBA dans Access, je suppose que tu pourras facilement l'adapter pour le faire à partir de Excel.
-
-
Parfait, merci beaucoup, ça marche
J'y serais surement pas arrivé sans ton aide