J'ai une DB qui reprend des données au jour le jour. En fin de mois, je sauve une copie de ma DB afin d'avoir des chiffres figés. Ma DB en "production" est elle mise-à-jour et pourrait l'être en rétro.
Parfois, je dois lancer une application sur ma DB en production parfois je dois lancer l'application sur une DB figée.
Le code ci-dessous me permet de changer la connexion d'une table pour aller sur une DB.
Un autre exemple d'utilisation serait d'avoir une DB en développement et, une fois l'application développée et testée; migrer la DB vers un environnement en production; ceci en changeant simplement les liens.
Remarque : j'ai simplifié le code. Il y aurait lieu de vérifier l'existence de la table ainsi que du fichier référencé par sConnect.
Christophe
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 Public Function SetConnectString(ByVal sTable As String, ByVal sConnect As String) As Boolean Dim bReturn As Boolean With Currentdb ' Don't process system table If Not (.TableDefs(sTable).Attributes And dbSystemObject) Then If (.TableDefs(sTable).Connect <> "") Then Err.Clear On Error Resume Next .TableDefs(sTable).Connect = ";DATABASE=" & sConnect ' And refresh the table link (mandatory) .TableDefs(sTable).RefreshLink bReturn = (Err.Number = 0) On Error GoTo 0 End If ' If (.TableDefs(sTable).Connect <> "") Then End If End With On Error GoTo 0 ZSetConnectString = bReturn End Function
Partager