cs_Appil
Messages postés208Date d'inscriptionmercredi 10 avril 2002StatutMembreDernière intervention11 juin 2014
-
18 sept. 2002 à 18:01
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 2015
-
22 avril 2004 à 21:07
Comment compacter une base de donnée access sous VB ?
-=-[ Golden-X] -=-
cs_imer
Messages postés59Date d'inscriptionvendredi 26 juillet 2002StatutMembreDernière intervention29 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
cs_imer
Messages postés59Date d'inscriptionvendredi 26 juillet 2002StatutMembreDernière intervention29 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 ..."