Compacter une base de donnée access sous VB [Résolu]

Signaler
Messages postés
208
Date d'inscription
mercredi 10 avril 2002
Statut
Membre
Dernière intervention
11 juin 2014
-
Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
15 juin 2015
-
Comment compacter une base de donnée access sous VB ?
-=-[ Golden-X] -=-

5 réponses

Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

Public Sub Compactage(BaseSource As String, Compact As Boolean, Optional Repair As Boolean = False)
On Error GoTo CompactageErreur

Dim LignErreur As Integer
Dim BaseCompact As String
Dim BaseAvCompact As String

LignErreur = 0
'réparation de la base source
'méthode disponible que pour les bases Access 97 ou moins
If Repair = True Then
On Error Resume Next
DBEngine.RepairDatabase BaseSource
On Error GoTo 0
End If

LignErreur = 1
'compactage de la base source
If Compact = True Then

LignErreur = 2
'préparation de la base destination de compactage
BaseCompact = BaseSource & "Compact"

If Dir(BaseCompact) <> "" Then
Kill BaseCompact
End If

LignErreur = 3
'commande de compactage
DBEngine.CompactDatabase BaseSource, BaseCompact

LignErreur = 4
'préparation des nominations des bases
BaseAvCompact = BaseSource & "AvCompact"

If Dir(BaseAvCompact) <> "" Then
Kill BaseAvCompact
End If


LignErreur = 5
'renommage de la base source en base avant compactage
Name BaseSource As BaseAvCompact

LignErreur = 6
'renommage de la base compactée en base source
Name BaseCompact As BaseSource

Kill BaseAvCompact

End If

Exit Sub

'Traitement des erreurs
CompactageErreur:

MsgBox "Erreur à la ligne " & CStr(LignErreur) & Chr(13) & Err.Number & Chr(13) & Err.Description

Exit Sub

End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

'Il y a une méthode CompactDatabase dans DAO.
'Elle permet de compacter une base access avec un autre nom (on se retrouve alors avec deux bases, une non compactée et une compactée)
'Dans le menu Projet/Références... cocher "Microsoft DAO X.X ..."
Messages postés
208
Date d'inscription
mercredi 10 avril 2002
Statut
Membre
Dernière intervention
11 juin 2014

Merci imer ..

-=-[ Golden-X] -=-
Messages postés
208
Date d'inscription
mercredi 10 avril 2002
Statut
Membre
Dernière intervention
11 juin 2014

merci imer ..

-=-[ Golden-X] -=-
Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
15 juin 2015
1
merci imer ! ca marche impec !