bonjour a tous,
voila j'aimerai savoir comment executer une requete contenu dans ma base access a chaque fois que je lance ma macro excel?
si quelqu'un a une idée ça serait cool
merci d'avance
bonjour a tous,
voila j'aimerai savoir comment executer une requete contenu dans ma base access a chaque fois que je lance ma macro excel?
si quelqu'un a une idée ça serait cool
merci d'avance
Un peu hors sujet, mais depuis Excel tu peux te connecter directement à une base (Access, Oracle, DB2, peu importe) en passant par le menu Données > Données Externes > Importer des données.
Ce qui te permet de créer directement dans ton document, la requête souhaitée en utilisant une connexion ODBC.
Un coup d'enregistreur de macro te permettra aisément de récupérer les paramètres utiles.
A titre d'exemple, la fonction dont je me sers. La variable monSQL contient la requête SQL "SELECT... FROM... WHERE...".
Bonne continuation...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Function ODBCConnect(monSQL As String) ' Connexion paramétrée pour la récupération de données, en utilisant les paramètres ci-dessous. With ActiveSheet.QueryTables.Add(Connection:="ODBC;DRIVER={Microsoft ODBC for Oracle};DSN=" & MonDSN & ";UID=" & MonUID & ";PWD=" & MonPW & _ ";SERVER=" & MonServeur & ";", Destination:=Range("A1")) .CommandText = monSQL .Name = ' le nom de la requète .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 Function![]()
Partager