multipac
Messages postés30Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention 7 mars 2012
-
22 juil. 2005 à 08:57
multipac
Messages postés30Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention 7 mars 2012
-
26 juil. 2005 à 07:35
Bonjour,
Y a t-il quelqu'un qui peut m'aider comment compacter une base de données ACCESS en VB6.
Sachant que j'utilise une base volumineuse, et j'ai besoin de la raffraîchir en supprimant des données ( sinon des tables ) et donc pour diminuer la taille physique de la base, je voudrais la compacter par programmation.
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 22 juil. 2005 à 21:17
Salut,
' ===========================================
' Compacter & Archiver la base de données
Public Sub CompactJetDatabase(ByVal Location As String, _
Optional BackupOriginal As Boolean = True)
Dim strBackupFile As String
Dim strTempFile As String
On Error GoTo CompactErr
If Len(Dir(Location)) Then
'création de la copie de sauvegarde
If BackupOriginal = True Then
strBackupFile = App.path & "" & "backup.mdb"
If Len(Dir(strBackupFile)) Then Kill strBackupFile
FileCopy Location, strBackupFile
End If
'Definition de la base temporaire
strTempFile = App.path & "" & "temp.mdb"
If Len(Dir(strTempFile)) Then Kill strTempFile
DBEngine.CompactDatabase Location, strTempFile, ";pwd=" &
dbPassWord, , ";pwd=" & dbPassWord ' Compacter la base courrante
-> base temp
Kill
Location
' Supprimer la base courrante
FileCopy strTempFile,
Location
' Copier base tmp -> base courrante
Kill strTempFile
End If
MsgBox "La base de donnée est nettoyée", vbInformation, "Terminé"
Exit Sub
CompactErr:
MsgBox "Une erreur est apparue lors du nettoyage de la base de données", vbInformation, "Erreur détectée"
Exit Sub
End Sub