Compacter et reparer une base de donnée

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 504 fois - Téléchargée 34 fois

Contenu du snippet

2 Procédures souvent demander en Forum....

Source / Exemple :


Public Sub Compactage(Fichier As String)

Dim fs As Object
Dim db As New DBEngine

MousePointer = 11

Set fs = CreateObject("Scripting.FileSystemObject")

If Not (fs.FileExists(Fichier)) Then ' Verification de la Présence du Fichier
    MsgBox "Base Introuvable à l'endroit spécifié", vbCritical + vbOKOnly, "Erreur"
    Exit Sub
End If

If fs.FileExists(Mid(Fichier, 1, Len(Fichier) - 4) & ".ldb") Then ' Verification de la Présence du Fichier .ldb
    MsgBox "La Base est déja Ouverte, Impossible de Poursuivre", vbCritical + vbOKOnly, "Erreur"
    Exit Sub
End If

db.CompactDatabase Fichier, "C:\Tempo.mdb" ' Compactage de la Base dans une Base Tempo

fs.DeleteFile Fichier ' Suppression de la Base
fs.MoveFile "C:/Tempo.mdb", Fichier ' Renommage de la Base Tempo

MsgBox "La Base de Donnée : " & Fichier & Chr$(13) & " est Compactée.", vbInformation, "Compactage"

MousePointer = 1

End Sub

Public Sub Reparation(Fichier As String)

Dim fs As Object
Dim db As New DBEngine
Dim errLoop As Error

On Error GoTo Err_Reparation

MousePointer = 11

Set fs = CreateObject("Scripting.FileSystemObject")

If Not (fs.FileExists(Fichier)) Then ' Verification de la Présence du Fichier
    MsgBox "Base Introuvable à l'endroit spécifié", vbCritical + vbOKOnly, "Erreur"
    Exit Sub
End If

db.RepairDatabase Fichier

MsgBox "La Base de Donnée : " & Fichier & Chr$(13) & " est Réparée.", vbInformation, "Réparation"

MousePointer = 1

On Error GoTo 0

Exit Sub

Err_Reparation:

   For Each errLoop In db.Errors
      MsgBox "Numéro d'erreur : " & errLoop.Number & _
         vbCr & errLoop.Description
   Next errLoop

End Sub

Conclusion :


Pour Appeller les Procédures :

Call Compactage("c:/Base.mdb")

Call Reparation("c:/Base.mdb")

A voir également

Ajouter un commentaire

Commentaires

MLDMiX
Messages postés
1
Date d'inscription
jeudi 12 septembre 2002
Statut
Membre
Dernière intervention
25 octobre 2009
-
Salut tous le monde;
pour EXPLOREUR, tu doit ajouter dans les références "Microsoft DAO 3.xx Object Librery"

Note: Allez dans le menu Projet/Références puis cocher sur "Microsoft DAO 3.xx Object Librery".

c tous
bonne programmation.
cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11 -
Salut Italia,

Quand je lance l'appli il me dit :
Tyoe défini par l'utilisateur, non défini et le curseur pointe sur

db As New DBEngine

Merci de ton aide..

A+
Exploreur
castro849
Messages postés
1
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
12 février 2007
-
Avant de valider votre commentaire merci de le relire (2 fois s'il le faut) afin d'éviter un maximum de fautes d'orthographe et de français. Merci également de veiller à ne pas trop écorcher la langue de Molière en écrivant en abrégé (comme sur des SMS).En cas d'a
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8 -
--> Pour ScalpWeb et Dragon ....je rechange mon avatar...C vrai il était mieux avant....

A bientôt sur le Forum.....Bonne Prog...
Merci des commentaires...mais Merci de la Noter
Sirocooo
Messages postés
412
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
7 avril 2008
1 -
Pour ma part je n'utilise plus cette méthode car parfois la réparation ne marche pas.

J'utilise maintenant l'outil JETCOMP.exe de microsoft (gratuit)

Soit avec l'interface utilisateur soit en pasant des arguments en ligne de commande ( JETCOMP.exe -src ... -dest... -w...
Vous trouverez la doc sur le site de microsoft.

C'est tellemet efficace que je l'ai intégré dans nos applications commerciales.


A vous de voir...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.