Compacter une base de donnée access sous VB

Résolu
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014 - 18 sept. 2002 à 18:01
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 - 22 avril 2004 à 21:07
Comment compacter une base de donnée access sous VB ?
-=-[ Golden-X] -=-

5 réponses

cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
19 sept. 2002 à 11:01
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
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
19 sept. 2002 à 11:03
'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 ..."
0
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
19 sept. 2002 à 14:23
Merci imer ..

-=-[ Golden-X] -=-
0
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
19 sept. 2002 à 14:39
merci imer ..

-=-[ Golden-X] -=-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 1
22 avril 2004 à 21:07
merci imer ! ca marche impec !
0