Nous avons une base de données Microsoft Access divisée en backend/frontend. Ce que je recherche, c'est de pouvoir sauvegarder automatiquement ces fichiers quotidiennement ou hebdomadairement - quelle est la meilleure façon de procéder? Nous ne voulons pas avoir à nous soucier des sauvegardes de la base de données, sachez simplement qu'elles se produisent automatiquement selon un calendrier.
Merci.
(Emprunt de ma réponse précédente ici ...)
re: effectuer réellement la sauvegarde
La sauvegarde d'une base de données Access native consiste simplement à copier l'intégralité du fichier de base de données (.mdb pour Access_2003 et versions antérieures, .accdb pour Access_2007 et versions ultérieures). Tout langage de script fonctionnerait, même un simple fichier batch Windows qui fait quelque chose comme
copy /Y d:\apps\databases\mydatabase.accdb z:\backups\databases\*.*
re: planification automatique de la sauvegarde
Le Planificateur de tâches dans Windows pourrait s'en occuper pour vous. Une fois que vous avez créé votre script pour copier le ou les fichiers de base de données, vous pouvez créer une tâche planifiée pour l'exécuter périodiquement. Voir l'article MSDN tilisation du Planificateur de tâches (Windows) pour plus d'informations.
Vous pouvez écrire un sous pour sauvegarder la base de données dans un dossier spécifié et exécuter ce sous lorsque la base de données est lancée. Il existe de nombreuses façons de le faire, mais j'utilise personnellement les éléments suivants:
Function fMakeBackup() As Boolean
Dim Source As String
Dim Target As String
Dim retval As Integer
Source = CurrentDb.Name
Target = "Z:\My Apps\Backups\YourFielName"
Target = Target & Format(Date, "mm-dd") & " "
Target = Target & Format(Time, "hh-mm") & ".accdb"
' create the backup
retval = 0
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
retval = objFSO.CopyFile(Source, Target, True)
Set objFSO = Nothing
End Function