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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?