|
General: Pourquoi compacter depuis le code ne fonctionne pas? |
Author(s) Dev Ashish |
|
Pourquoi CompactCurrentDatabase ne fonctionne pas à partir du
code?
(Q) J'essaie de compacter la base de donnée courante,
à partir de mon code, un peu comme je peux le faire à partir du menu d'Access
97, mais depuis le code, Access m'amène un dialogue du genre "Enter
Database to compact from/to". Qu'est-ce que je fais de pas
correct?
(A) En Access 97 et 2000, la commande de compacter, disponible
depuis le menu, ne peut pas être recrée à partir du code. Jet demande, en effet,
que la base de données soit fermée avant de démarrer le processus de
compaction... et tant que votre code s'exécutera, la base de données courante ne
pourra pas se fermer, et donc, vous ne pourrez pas la compacter depuis votre
code..
Access 2000 & Access 97:
En Access 2000 (seulement), vous pouvez compacter automatiquement
votre base de données chaque fois qu'elle se ferme, en cochant
l'option Compact On Close disponible sous Tools | Options
| onglet General.
Michael Kaplan a rendu accessible un compagnon basé sur COM (
COM Addin) qui permet de compacter la base de données actuelle et de
rouvrir la base de données (ou une autre) en utilisant la même
instance d'Access.
Access 97 seulement: Vos options sont
(a) créer une petite application en VB qui est lancée depuis
votre base de données (à l'aide de Shell). Cette application accepte
le nom d'un fichier point-mdb qu'elle ferme, compacte, puis ouvre à
nouveau. Il y a quelques utilitaires pour ce faire:
(b) créer une base de données "Utility" qui compacte toutes les
base de données dont le nom est fourni dans une table à cet effet.
Pour plus d'information, consulter:
Article Q158937:
How to Compact Databases at a Scheduled Time
|
|