Compactage en Visual Basic
Comment compacter une base de données Access par Visual Basic ?
Le code qui suit permet de compacter une base de données, mais il ne peut figurer dans la base de données à traiter. Vous devez donc créer une autre base, et vous placerez le code ci-dessous dans un module quelconque de cette autre base.
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 |
' --- ' REPARATION ET COMPACTAGE DE BASE DE DONNEES ' --- ' Entrée : strBase <- Chemin d'accès à la base de données ' strTemp <- Nom de la base de données temporaire ' Function RepairCompact( _ ByVal strBase As String, _ ByVal strTemp As String) As Boolean ' Détruire la base temporaire si elle existe On Error GoTo RCErr If Dir$(strTemp) <> "" Then Kill strTemp ' Réparer et compacter la base de données DBEngine.RepairDatabase strBase DBEngine.CompactDatabase strBase, strTemp ' Si tout a marché, détruire la base d'origine ' et renommer la base temporaire Kill strBase Name strTemp As strBase RepairCompact = True Exit Function RCErr: MsgBox "L'erreur suivante s'est produite : " _ & Err.Description, vbCritical, "Compactage" RepairCompact = False Exit Function End Function |
Tester !
Pour tester, ouvrez la fenêtre de debugging (par CTRL
+G
), et tapez-y :
1 |
? RepairCompact("chemin de la base à compacter", "chemin d'une base temporaire") |
puis [ENTREE]
.
Par exemple :
1 |
? RepairCompact("C:Mes documentsaccessclients.mdb", "C:Mes documentsaccessclients.tmp") |
Vous pouvez bien sûr placer cette ligne dans le code d’un bouton de commande, sur un formulaire.