Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉPARER COMPACTER ACCESS SANS SHELL


Information sur la source

Catégorie :Base de Donnees Classé sous : compact, repair, access, compacter, réparer Niveau : Débutant Date de création : 27/02/2003 Date de mise à jour : 03/03/2003 14:53:07 Vu : 4 919

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

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

  • 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
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.  
 

Commentaires et avis

signaler à un administrateur
Commentaire de celiphane le 28/02/2003 17:07:00

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...

signaler à un administrateur
Commentaire de ozar le 03/03/2003 14:50:53

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

signaler à un administrateur
Commentaire de timo76 le 12/08/2004 09:49:05

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

signaler à un administrateur
Commentaire de akami le 07/12/2006 09:00:58

Merci de vérifier ta procedure avec une base de données ayant un mot de passe.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

peut -on réparer une base access 2000 (DAO ne marche pas) [ par steph ] j'ai essayé avec repairDatabase mais cette option ne supporte pas access 2000 ! Pour les pros seulement (Compacter une BD Access 2000) [ par Wardall ] J'ais besoin d'un coup de main:- J'ai voudrais savoir comment compacter une BD Microsoft Access 2000.-Je sais comment faire avec Microsoft 97 mais la Réparer base Access [ par Chrystelle ] Bonjour,Est il possible de réparer une base Access, est ce qu'il y a quelque chose dans Access qui le permet ?Merci Pbme pour réparer une base Access [ par Chrystelle ] J'ai le code suivant : DBEngine.RepairDatabase (BDname)BDname reçoit le chemin de ma base en .mdb, j'ai vérifié.Quand je lance la procédure j'ai le me Pbme pour réparer une base Access [ par Chrystelle ] J'ai le code suivant : DBEngine.RepairDatabase (BDname)BDname reçoit le chemin de ma base en .mdb, j'ai vérifié.Quand je lance la procédure j'ai le me réparer une base access 2000 sous vb [ par namor21 ] avec jet 3.51 on utilise dbengine.RepairDatabase(<nom base>) mais cette commande ne passe pas avec jet 4.0 donc utiliser dbengine.CompactDataba Compacter une base access 2002 [ par beabea ] Bonjour,j'essaie de compacter une base access 2002 en ADO. J'ai écrit le code en déclarant le JRO.et quand je veux compacter, un message me dit que la Compacter une base Access [ par olanfr ] Bonjour,Quelqu'un aurait il un exemple de code vb.Net pour compresser une base Ms Access ?D'avance merciOlan Réparer une base Access [ par gandalflegris007 ] Bonjour a tous, je m'adresse à vous car j'ai un GROS soucis avec une base de données Access97. En fait, pour être clair, je viens de COMPACTAGE BD ACCESS [ par multipac ] 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'


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.