lancement de requête SQL via VBA

  • Initiateur de la discussion Initiateur de la discussion Bradvid
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : lancement de requête SQL via VBA

Salut Bradvid,

En utilisant l'enregistreur de macro et le menu "Données" -> "Données externes" -> "Créer une requête", voilà ce que l'on obtient :
Code:
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=MS Access Database;DBQ=C:\ESSAI\MaBase.mdb;DefaultDir=C:\ESSAI;DriverId=25;FIL=MS Access;Ma" _
        ), Array("xBufferSize=2048;PageTimeout=5;")), Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT `Tbl Commandes`.NumCpte, `Tbl Commandes`.NumAff, `Tbl Commandes`.RefCde, `Tbl Commandes`.DateCde" & Chr(13) & "" & Chr(10) & "FROM `C:\ESSAI\MaBase`.`Tbl Commandes` `Tbl Commandes`" & Chr(13) & "" & Chr(10) & "WHERE (`Tbl Commande" _
        , "s`.NumCpte='XXXX99')" & Chr(13) & "" & Chr(10) & "ORDER BY `Tbl Commandes`.NumCpte")
        .Name = "Ma requête ESSAI"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

La syntaxe est, je pense, assez claire 😱

A adapter selon tes besoins 😉

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
66
Retour