Bonjour,
Dans l'excellent article de Dolphy35 http://dolphy35.developpez.com/artic.../basesreseaux/, celui-ci nous propose comment utiliser une application en mode multi-utilisateurs. Dans cet article, un code VBA vous est proposé afin de lier par code vos tables à la source de données. Cet exemple utilise la technologie DAO. Je vous propose donc une réadaptation du code en utilisant la technologie ADO.
Cela exige d'avoir référencé les librairies suivantes :
- Microsoft Ado ext 2.x for DLL and security,
- Microsof ActiveX Data objects x.x library (nécessaire à la manipulation des accès en ADO)
Cette fonction comporte en entrée le chemin de la base source à lier au projet, et retourne true ou false en fonction de la nature de retour.
Chacun pourra réadapter ce source et faire part de ses critiques....
JimBoLion
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
34
35
36
37
38
39 Public Function LierTables(strChmFichier) As Boolean ' ' Rafraichissement des liens de la table ' Recoit en argument la source de données à lier localement ' Renvoit False en cas d'erreur ' On Error GoTo err_LierTables 'Déclaration des variables ' Dim tbdTables As New ADOX.Table Dim catSrc As New ADOX.Catalog ' 'Initialise le retour de la Fonction LierTables = False ' Set catSrc.ActiveConnection = CurrentProject.Connection For Each tbdTables In catSrc.Tables ' Retourne la collection de tables dans le projet courant ' If tbdTables.Type = "Link" Then ' il s'agit d'une table liée dans le projet courant tbdTables.Properties("Jet OLEDB:Link Datasource") = strChmFichier End If Next ' Set tbdTables = Nothing ' CurrentProject.Connection.Close ' Set catSrc = Nothing ' LierTables = True Exit Function err_LierTables: LierTables = False MsgBox Err.Description ' Exit Function End Function
Partager