Attendre la fin de la commande "compacter la base de données"
Bonjour,
ne disposant pas de l'option "compacter à la fermeture" dans Access 97, je suis en train de concocter une fonction pour le faire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Function Compacter_bdd()
Dim Db, tempDb As String
Db = "\\Serveur\appli appro\bdd.v2.0.mdb"
tempDb = (Left(Db, (Len(Db) - 4)) & "temp.mdb")
Name Db As tempDb
DBEngine.CompactDatabase tempDb, Db
Kill tempDb
MsgBox "Base de donnée compactée avec succès !"
End Function |
Le souci c'est qu'il faut attendre la fin du compactage avant de "killer" le fichier tempDb.
Je pourrais me contenter de rajouter un truc du genre :
Code:
1 2
| For i = 1 To 10000000
Next |
mais le risque c'est de surdimensionner le délai d'attente car la durée du compactage peut être parfois assez longue...
Quelqu'un pourrait-il donc m'indiquer comment insérer une boucle d'attente qui capterait la fin de l'exécution du compactage ?
FACON DE COMPACTER SOUS ACCESS 97
en général, j'ai peu d'utilisateurs connectés en même temps (1, 2).
c'est l'utilisateur "responsable" de la BD qui fait le choix de quitter en compactant (de temps en temps) (l'application tourne dans des TPE, 3-4 personnes)
Je sais, je devrais tester les connectés avant de lancer cela...
(je vais m'y mettre !)
alors, et vous comment compacter vous sous Access97 ?
moi : par fichier .bat à la sortie
Fevec