Réparer compacter access sans shell

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 922 fois - Téléchargée 39 fois


Contenu du snippet

J'ai vu sur le forum que certaines personnes voulaient réparer compacter une base ACCESS sans avoir ACCESS d'installer sur le poste afin d'éviter de lancer une commande shell. Alors voilà ce petit bout de code devrait faire des heureux. Il n'est pas méchant dutout et marche à tout les coups hihi.
Copier coller le code ci-dessous dans une form et lancer votre appli.

Attention :
Pour ACCESS 97 utiliser la référence Microsoft DAO 3.51, La méthode RepairDatabase et CompactDatabase marcheront correctement.

Pour ACCESS 2000 utiliser la référence Microsoft DAO 3.6, et supprimer la méthode RepairDatabase (car la fonction n'existe plus sous 2000 et ces idiots ont laissé la méthode). En fait la méthode CompactDatabase fait les 2 (répare et compacte)

Source / Exemple :


Private Sub Form_Activate()

On Error Resume Next

    Screen.MousePointer = vbHourglass
    Me.Label1.Caption = "REPARATION"

    DoEvents
    RepairDatabase (App.Path & "\NEW.MDB")

    Me.Label1.Caption = "COMPACTAGE"
    If Len(Dir$(App.Path & "\OLD.MDB")) > 0 Then Kill App.Path & "\OLD.MDB"
    CompactDatabase App.Path & "\NEW.MDB", App.Path & "\OLD.MDB", dbLangGeneral
    Kill App.Path & "\NEW.MDB"
    Filecopy App.Path & "\OLD.MDB" , App.Path & "\NEW.MDB"
    Screen.MousePointer = vbDefault

    Unload Me

End Sub

Conclusion :


En fait la méthode RepairDatabase et CompactDatabase sont des méthodes inclus dans VB, mais bon faut le savoir !!!
Important :
Pour éviter le plantage, renommer dans le code la base access et vous aurez besoin d'un label histoire d'afficher ce ke le prog est en train de faire lol.

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2006

Merci de vérifier ta procedure avec une base de données ayant un mot de passe.
Messages postés
9
Date d'inscription
jeudi 12 septembre 2002
Statut
Membre
Dernière intervention
28 mars 2011

Merci 1000 fois, je cherche et je trouve ce qu'il me faut.
Je confirme l'utilisation de DAO 3.6 pour que ça marche.
10/10
Messages postés
24
Date d'inscription
mardi 3 octobre 2000
Statut
Membre
Dernière intervention
15 mai 2009

Effectivement Celiphane tu as raison, et je le répète il faut utiliser la référence DAO 3.6 pour ACCESS 2000 et DAO 3.51 pour ACCESS 97
Messages postés
466
Date d'inscription
samedi 16 février 2002
Statut
Membre
Dernière intervention
20 avril 2007

n'importe quoi...
t'es pas sur qu'il y aurait pas par hasard des références à des dll ou ocx à cocher ?
vérifie bien, car chez moi en tout cas, c'est pas connu...

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.