Sauvegarde de la base de données Access Quotidien / Hebdomadaire

Nous avons une base de données Microsoft Access divisée en backend / frontend. Ce que je recherche, cest de pouvoir sauvegarder automatiquement ces fichiers sur une base quotidienne ou hebdomadaire – 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 que cela se produit automatiquement selon un calendrier.

Merci.

Réponse

(Emprunt de ma réponse précédente ici …)

re: effectuer réellement la sauvegarde

La sauvegarde dune base de données native Access consiste simplement à copier linté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 de Windows pourrait sen charger pour vous Une fois que vous avez créé votre script pour copier les fichiers de base de données, vous pouvez créer une tâche planifiée pour lexécuter périodiquement. Consultez larticle MSDN Utilisation du planificateur de tâches (Windows) pour plus dinformations.

Commentaires

  • que ' est essentiellement ce que je ' m après. Y a-t-il un problème avec la base de données divisée en frontend / backend? Que faire si ' est utilisé au moment de la sauvegarde? Merci.
  • [1] re: frontend / backend – Le fichier backend est celui qui change constamment, de sorte que ' est celui qui a besoin (plus ) sauvegardes régulières. [2] re: fichier (peut-être) en cours dutilisation – Il ny a pas de réponse simple à cette question. Les bases de données de fichiers partagés nont pas les mêmes avantages que les bases de données client-serveur à cet égard.
  • Quest-ce que cela signifie? Est-il possible de le copier pendant son utilisation?
  • @Parhs Oui, il est possible de copier un fichier de base de données Access pendant son utilisation (à moins quil nait été ouvert en exclusivité). Cependant, copier nimporte quel fichier alors quil est activement utilisé nest généralement pas une bonne idée.
  • @Parhs Bien quil soit très peu probable que le fichier source (original) soit corrompu, le fichier de destination pourrait ne pas être une sauvegarde fiable si des écritures se produisaient sur le fichier source pendant sa copie.

Réponse

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 procéder, mais jutilise personnellement ce qui suit:

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 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *