[ACCESS] Sauvegarder une base de donnée grâce à un script VBA
Posté dans Programmation le juin 1st, 2009 par HIK3 – 1 CommentaireBonsoir, si vous êtes utilisateurs d’Access et que vous faitez des bases de données, je suis sûr et certain qu’il vous est déjà arrivé que, pendant votre travail, Access plante lamentablement, tente une sauvegarde désespérée de votre base de donnée et crée un backup pas top-top et ainsi vous perdez vos données !
Alors, bon comme vous vous en doutez, j’ai été confronté à ce problème (mais c’était surtout pour mon prof.) que j’ai réalisé ce script VBA. Je vous le colle-ici :
‘ ———————————————————————————-
‘ Auteur : David Marandola
‘ Date : 20.05.2009
‘ Version : 1.0
‘ Révisions : -
‘ Description : Fonction qui permet de backuper la base de donnée à son ouverture
‘ en faisant une copie de celle-ci.
‘ ———————————————————————————-
‘ @param:
‘ – strDBName : nom de la base de données actuellement ouverte
‘ – strDBPath : chemin du dossier où sera sauvée la base
‘ ———————————————————————————-
Public Function CopierBase()
Dim strDBName, strDBPath As String
Dim fso As Object
‘ On assigne à strDBName son chemin et son nom de fichier
strDBName = Access.CurrentProject.FullName
‘ Concatène de cette manière : .backup.
strDBPath = Left(strDBName, Len(strDBName) – 5) & "backup" & Right(strDBName, 6)
‘ Crée un nouvel objet pour la copie de la base
Set fso = CreateObject("Scripting.FileSystemObject")
‘ Crée une copie de la base courante
fso.CopyFile strDBName, strDBPath
‘ Assigne à null l’objet
Set fso = Nothing
End Function
Merci de citez le nom de l’auteur (moi) ainsi qu’un lien vers ce site si vous utilisez mon script. Donc, pour l’utilisez il faut crée une macro, que vous appellerez : autoexec et vous lui ordonnez d’exécuter un module (script VB) que vous appellez comme vous voulez, c’est juste l’autoexec qu’il faut nommer ainsi pour qu’elle s’exécute à l’ouverture.



