2009-11-11 19 views
0

Cela n'a pas toujours été le cas, mais depuis que j'ai scindé ma base de données et fait de l'interface un fichier ACCDE, chaque fois que j'essaie de compacter et de réparer un fichier, un un nouveau fichier appelé "Database 1" est généré et ma taille de fichier d'origine ne change pas.Access Crée un nouveau fichier chaque fois que je compacte et répare

Est-ce normal?

Mon ACCDB est d'environ 20 Mo, et mon ACCDE est juste supérieur à 1 Mo après avoir été utilisé la première fois. Avant l'ouverture, l'ACCDE était seulement 600k (j'ai beaucoup de formes et de requêtes, et stocke régulièrement des pièces jointes PDF

Répondre

4

Le nouveau fichier est parce que le processus de compactage et de réparation ne s'est pas terminé, il ne peut donc pas supprimer votre original et renommer le Cela peut être dû au fait qu'il ne dispose pas d'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 disposez des autorisations complètes pour le dossier

+2

Vous devriez également regarder le fichier nouvellement créé pour voir s'il a une table MSysCompactErrors. Normalement, un compact tenté lorsque vous n'avez pas d'accès exclusif ne démarre même pas - l'interface utilisateur d'accès vous donne un message disant qu'il ne peut pas le faire parce que quelqu'un d'autre l'utilise. Donc, je soupçonne que quelque chose échoue dans l'opération de réparation réelle. –

+0

J'ai essayé avec un accès exclusif et a également cherché une table des erreurs, ne semble pas être le cas pour moi. – NickSentowski

0

Cela dépend de la façon dont vous le faites .

Lorsqu'on utilise la bibliothèque d'objets de réplication Jet (JRO) le procédé est défini comme JRO.JetEngine.CompactDatabase

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, il est normal qu'un nouveau fichier soit créé lors du compactage.

+0

Je suis juste en utilisant le compact et réparer dans le menu Office Button-> Gérer. – NickSentowski

0

Dans certains cas, c'est peut-être le cas, j'ai le même problème. Dans mon cas, cela concerne le lecteur réseau. Ma solution de contournement est de l'amener dans mon C: \ et de le faire là, puis je le déplace vers le lecteur réseau une fois le compact et la réparation est terminée.

+0

Avez-vous appliqué le SP 2? Voir http://allenbrowne.com/Access2007.html#Bugs (recherche de "compact"). –