Access 97 : Proc évenmentielle

12/02-2005 à 14:09Bonjour,

Quelqu'un aurait-il la syntaxe d'une procédure permettant sous access 97 :

1/de compacter la base
2/De fermer Access

Par avance merci


----------
Ballsbreaker



13/02-2005 à 11:19Salut Camarade,

1) Tu crées une nouvelle base .mdb et tu colles dans un nouveau module le code suivant :

Option Compare Database
Option Explicit

' --------------------------------------------------
' REPARATION ET COMPACTAGE DE BASE DE DONNEES
' --------------------------------------------------
' Entrée : strBase <- Chemin d'accès à la base de données
' strTemp <- Nom de la base de données temporaire
'
Function RepairCompact(ByVal strBase As String, ByVal strTemp As String) As Boolean
On Error GoTo RCErr

' Détruire la base temporaire si elle existe
If Dir$(strTemp) <> "" Then Kill strTemp

' Réparer et compacter la base de données
DBEngine.RepairDatabase strBase
DBEngine.CompactDatabase strBase, strTemp

' Si tout a marché, détruire la base d'origine et renommer la base temporaire
Kill strBase
Name strTemp As strBase
RepairCompact = True
Exit Function

RCErr:
MsgBox "L'erreur suivante s'est produite : " & Err.Description, vbCritical, "Compactage"
RepairCompact = False
Exit Function
End Function

2) Tu crées une macro Autoexec ou tu lui passes les actions suivantes :

- AfficherBarreOutils, Base de données, Non
- ExécuterCode. Dans le nom de la fonction tu tapes

RepairCompact ("C:\C5\Fintiers.mdb", "C:\C5\Fintiers2.mdb")

où C5 est le dossier contenant ta base à compacter (ici fintiers.mdb). Fintiers2.mdb étant le nom de la base temporaire.




----------
TIF (adepte de l'article 22)


Access 97 : Proc évenmentielle
13/02-2005 à 11:21Oubli :

Dans la macro autoexec, finir par l'action "Quitter" avec l'option "enregistrer tout".


----------
TIF (adepte de l'article 22)


Merci de vous identifier

« Forum technique (liste des messages)3 enregistrements / page 1/1