Bonjour,
J'ai développé une base Access sur laquelle s'effectue des requetes "Select" depuis Excel.
Une fois le fonctionnement OK, j'ai ajouté un niveau de sécurité dans Access en créeant des groupes et utilisateur, dont un en lecture seule (c'est ce dernier, "User", que je veux utiliser depuis Excel).
La configuration de la sécurité à créé un fichier .mdw dans lequel sont contenu les infos de groupe et sécurité.
J'ai créer des raccourcis utilisant des commutateurs pour ouvrir la base Access en utilisant ce fichier de sécurité et le bon utilisateur.
J'utilise deux méthode différentes pour mes requetes select :
Et la seconde :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim rsData As ADODB.Recordset Dim szConnect As String PathMyApplication = ActiveWorkbook.Path & "\" 'Connection String szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & PathMyApplication & "ProductEvaluation.mdb;" 'Object Recordset and execute query Set rsData = New ADODB.Recordset sqlString = "select Name from Products Group By Name" rsData.Open sqlString, szConnect
Pourriez-vous m'orienter sur la façon d'ajouter à ces requetes le fichier de sécurité à utilisé (le .mdw) et le "User" ?
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 'Declaration of elements for the query Dim wrk As DAO.Workspace Dim db As DAO.Database Dim rst As DAO.Recordset Dim qdf As QueryDef Dim strQuery As String PathMyApplication = ActiveWorkbook.Path & "\" 'Create database connection and query Set wrk = CreateWorkspace("", "Admin", "", dbUseJet) Set db = wrk.OpenDatabase(PathMyApplication & "ProductEvaluation.mdb") 'Create the SQL query strQuery = "SELECT Name FROM Products WHERE Name <> null " Set qdf = db.CreateQueryDef(SelectProductsByFeatures, strQuery) 'Execute the query Set rst = qdf.OpenRecordset()
D'avance merci pour vos réponse.
Dhi'San
Partager