COMPACTER UNE BASE DE DONNÉES ACCESS

Signaler
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
-
Messages postés
2
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
7 mars 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/4920-compacter-une-base-de-donnees-access

Messages postés
2
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
7 mars 2011

J'ai mis le piège d'erreur en commentaire afin de voir quelle était l'erreur.
Messages postés
2
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
7 mars 2011

Bonjour tout le monde !

J'ai un gros souci concernant le compactage de ma base de données !

Pourriez vous m'aider si ça ne vous dérange pas ?

Voici mon code :

Option Compare Database

Private Sub Commande1_Click()

Dim Outil_COCO As String
Dim Tmp As String

'Déterminer le chemin d'accès au dossier parent
path = Access.CurrentProject.path()
'Déterminer le chemin d'accès de "outils COCO.accdb"
Outil_COCO = path & "\Outil COCO.accdb"
'Déterminer le chemin d'accès de "outils Tmp.accdb"
Tmp = path & "\Outil Tmp.accdb"

'Application.NewCurrentDatabase Path & "\Tmp.accdb", acNewDatabaseFormatUserDefault
Call RepairDatabase(Outil_COCO, Tmp)


End Sub

'fonction avec deux valeurs d'entrées : le chemin d'accès et le nom du fichier source ainsi que du fichier destinataire
Function RepairDatabase(strSource As String, strDestination As String) As Boolean

'piège d'erreur
'On Error GoTo Erreur

'Compacte et répare le projet Microsoft Access en utilisant les deux valeurs d'entrée de la fonction
RepairDatabase = Application.CompactRepair(SourceFile:=strSource, DestinationFile:=strDestination)

'Réinitialiser le piège d'erreur et quitter la fonction
'On Error GoTo 0
'Exit Function

' Returne faux en cas d'erreur
'Erreur: RepairDatabase = False

End Function


Access m'envoie un message d'erreur me disant :

"Erreur d'exécution '7866':

Microsoft Office Access n'a pas pu ouvrir la base de données, parce que celle-ci est manquante, a été ouverte par un autre utilisateur en mode exclusif ou n'est pas un fichier ADP."

Je vous remercie d'avance de l'aide que vous pourrez me fournir !
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

Bonjour,

Il ne parche pas avec Vista, pourquoi ? Avez-vous une solution à cela ?
XP sans problème, Vista erreur de compactage...
Merci d'avance.
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1
Bonjour -:)
Je pense qu'il est préférable d'utiliser msjro.dll(88 KB) plutôt que dao dans la mesure ou tu as ado en référence.... dao 3.6(545 KO) pèse une tonne ! ça fait lourd pour compacter une base -;)

@+, vic sans ça 8 pour le sujet -:)