1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| '******************************* COMPACTE LA DORSALE
Public Function Compacte()
If Not Mode_debug Then On Error GoTo err:
Dim f As String, i As Integer, n As Integer, d As Date
Dim r As Double
106 If Len(Dir(Client_path & "planetDB.ldb")) = 0 Then
110 r = SysCmd(1, "Compactage de la base en cours...", 2)
112 f = Client_path & "planet"
114 On Error GoTo e1:
116 Kill f & "TMP.mdb" '10.7a au cas où une vieille version traine...
118 e1: On Error GoTo err:
122 DBEngine.CompactDatabase f & "DB.mdb", f & "TMP.mdb", , , "MS Access;PWD=toto"
124 DoEvents '10.9h par précaution
125 r = SysCmd(2, 1)
126 Kill f & "DB.mdb" '2. Suppression de la base originale
128 DoEvents '10.9h par précaution
130 Name f & "TMP.mdb" As f & "DB.mdb" '3. Renommer la base compactée avec le nom de la base originale
134 CurrentDb.Execute "UPDATE parametres set date_compactage=cdate('" & DATE & "') WHERE ligne=1;", dbFailOnError
136 r = SysCmd(3)
138 Compacte = "OK"
Else
140 MsgBox "La base n'a pas pu être compactée car elle est en cours d'utilisation." & CR _
& "Vérifiez qu'aucune fenêtre n'est ouverte sur un poste.", vbInformation, ""
142 Compacte = "NOK"
End If
Exit Function
err: Call message("Erreur " & err.Number & "/" & Erl & " dans fonctions.compacte : " & err.description)
End Function |
Partager