Bonjour à tous,
Pour expliquer brièvement mon projet.
J'ai une base Access queje souhaite interroger depuis excel afin de faciliter la lecture pour des utlisateurs non avertis et afin de protéger la base (qui pour le coup, ne sera qu'en lecture).
Dans ma base access, j'ai une table Voyage qui stocke des données date / identifiant.
Je souhaite, depuis excel, interroger cette table et stocker le résultat dans une feuille.
Jusque là, j'y arrive.
Toutefois, je ne veux pas interroger l'ensemble de ma table mais faire un filte au niveau des dates.
Pour celà, j'ai fait une liste déroulante dans ma cellule A1 qui stocke donc les dates.
Ma question :
Comment intégrer cette variable dans mon code !
J'ai tout essayé, sauf la bonne solution !
j'aimerais remplacer le WHERE (TELEPHONIE.DATE={ts '2014-01-04 00:00:00'})_ par RES
Merci
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
24
25
26
27
28
29
30
31
32
33 Sub TEST() Dim res As String Dim rq As String res = Cells(1, 1) 'ActiveWorkbook.Worksheets.Add With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _ "ODBC;DSN=MS Access Database;DBQ=TEST.mdb;DefaultDir=U:\15 - SUIVI ;DriverId=25;FIL=MS Acce" _ ), Array("ss;MaxBufferSize=2048;PageTimeout=5;")), Destination:=Range("B1")) .CommandText = Array( _ "SELECT VOYAGE.DATE, VOYAGE.IDENTIFIANT FROM `U:\15 - SUIVI \TEST`.VOYAGE VOYAGE WHERE (TELEPHONIE.DATE={ts '2014-01-04 00:00:00'})_ ) .Name = "Lancer la requête à partir de MS Access Database_3" .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
Partager