Bonjour,
Voici un technique que j’utilise pour automatiser le déploiement de mes bases Access sur les postes utilisateurs.
- Créer une table TVersion avec les champs suivants :
- PC, Texte courte, Clef primaire
- DateMaJ, Date/Heure
- Créer un module avec le code ci-dessous :
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 Public Const FichierRAR = " z:\BD\ MaBaseFrontale.exe" chemin du fichier .exe détaillé en point 7 Public Const FichierBAT = " z:\BD\ MonBatch.bat" chemin du fichier batch détaillé en point 9 Option Compare Database Public Sub VerificationVersion() Dim Rst As DAO.Recordset Dim ssQl As String ssQl = "SELECT * FROM TVersion where PC=" & Chr(34) & Environ("COMPUTERNAME") & Chr(34) Set Rst = CurrentDb.OpenRecordset(ssQl) If Rst.EOF = True Then Rst.AddNew Rst!PC = Environ("COMPUTERNAME") Rst!DateMaJ = FileDateTime(FichierRAR) Rst.Update Call MaJ Else If FileDateTime(FichierRAR) <> Rst!DateMaJ Then Rst.Edit Rst!DateMaJ = FileDateTime(FichierRAR) Rst.Update Call MaJ End If End If Rst.Close End Sub Public Sub MaJ() MsgBox ("Une nouvelle version du logiciel à été trouvé et va être installée. Veuillez relance le programme une fois le telechargement terminée") Shell FichierBAT, vbNormalFocus Application.Quit End Sub
- Créer un formulaire Verif_Version vide avec le code suivant sur ouverture
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Form_Open(Cancel As Integer) Call VerificationVersion DoCmd.OpenForm "Accueil" Accueil étant la fenêtre principale de ma base DoCmd.Close acForm, "Verif_Version" End Sub
- Aller dans les Options Access, Base de données active et dans le champ Afficher le formulaire, indiquer Verif_Version. Cela va permettre d’ouvrir la fenetre Verif_Version au démarage.
- Scinder la base de données
- Mettre la base frontale sur un poste en local (c:\MaBaseFrontale .accdb), Je la met en principe à la racine de disque dur car c’est commun à tous les postes
- Je créer un fichier autoextractable de ce fichier avec WinRAR
- Ouvrir WinRAR
- Ajouter le fichier MaBaseFrontale .accdb à l’archive
- Onglet Général, cocher Créer une archive SFX
- Onglet Avancé, cliquer sur le bouton Option SFX
- Dans la fenêtre « Options SFX avancées », onglet Général, ajouter le chemin d’accès ( c:\ dans mon cas)
- Onglet Modes, Mode silencieux = Tout masquer
- Onglet Mettre à jour, Mode de remplacement = Remplacer tous les fichiers
- Valider avec le bouton OK la fenêtre Options SFX avancées
- Valider avec le bouton OK la fenêtre principale
- Copier ce fichier .exe sur un disque réseau (z:\BD\ pour mon exemple)
- Dans le même dossier, créer un fichier MonBatch.bat, le modifier et y mettre le texte suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 exemple: :boucle set /a count = count + 1 if %count%==1000 goto finboucle goto boucle :finboucle @echo off cd " z:\BD\" & Start MaBaseFrontale.exe -s
- Pour l’installation sur un nouveau poste, il vous suffit de lancer le fichier MonBatch.bat qui va automatiquement créer un fichier c:\MaBaseFrontale .accdb
- Mettre un raccourci sur le bureau
- Lancer la base (il va refaire automatiquement une mise à jour car le nouveau poste n’est pas inscrit dans la table TVersion
Pour déployer une nouvelle version, il suffit de refaire le fichier MaBaseFrontale.exe et de le remettre dans le dossier z:\BD\ (point 7-8)
Tous les postes se mettrons à jour automatiquement lors de la prochaine connexion.
Rien de plus simple !!!!
Partager