L'accès crée un nouveau fichier à chaque fois que je compacte et répare
-
19-09-2019 - |
Question
Il n'a pas toujours fait cela, mais depuis que je divise ma base de données et fait de la frontale un fichier ACCDE, chaque fois que j'essaie de compacter et de réparer l'un ou l'autre fichier, un nouveau fichier appelé "Database 1" est généré et mon fichier d'origine La taille ne change pas.
Est-ce normal?
Mon ACCDB est d'environ 20 Mo, et mon ACCDE est un peu plus de 1 m après avoir été utilisé la première fois. Avant l'ouverture, l'ACCDE n'était que de 600k (j'ai beaucoup de formulaires et de requêtes, et de stocker régulièrement des pièces jointes PDF.
La solution
Le nouveau fichier est dû au processus compact et de réparation ne s'est pas terminé, il ne peut donc pas supprimer votre original et renommer le fichier compacté. Cela peut être dû au fait qu'il n'a pas un accès exclusif. Assurez-vous que tout le monde est hors du système avant de compacter et de réparer. Vérifiez également que vous avez des autorisations complètes pour le dossier.
Autres conseils
Cela dépend de la façon dont vous le faites.
Lorsque vous utilisez la bibliothèque des objets de réplication de jet (JRO), la méthode JRO.JetEngine.CompactDatabase
est défini comme
Sub CompactDatabase(SourceConnection As String, Destconnection As String)
Si vous fournissez la même chaîne de connexion pour les deux arguments, vous obtenez une erreur, "la base de données existe déjà".
Par conséquent, lors de l'utilisation de JRO oui, il est normal qu'un nouveau fichier soit créé lors du compactage.
Dans certains cas, il pourrait être le cas, j'ai le même problème. Dans mon cas, cela est à voir avec le lecteur de réseau dans lequel il se trouve.
Ma solution de contournement consiste à l'apporter dans mon C: et à le faire là-bas, puis je le retourne au lecteur réseau une fois le compact et la réparation terminés.