Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sauvegarde base access en fonctionnement

5 réponses
Avatar
Mikael
Bonjour,

C'est probablement une question assez courante mais je dois régler mon
problème dans l'urgence alors voila :

J'ai un système access qui tourne 24h/24 sur une machine et qui fait
fonctionner une base de données.
J'aimerais faire une sauvegarde automatique du fichier .mdb mais cela
est-il possible sans interrompre access ? Y a t il des risques que la
sauvegarde soit impossible ? (verrou ?)

Merci d'avance,

Mikael

5 réponses

Avatar
3stone
Salut,

"Mikael"
C'est probablement une question assez courante mais je dois régler mon
problème dans l'urgence alors voila :

J'ai un système access qui tourne 24h/24 sur une machine et qui fait
fonctionner une base de données.
J'aimerais faire une sauvegarde automatique du fichier .mdb mais cela
est-il possible sans interrompre access ? Y a t il des risques que la
sauvegarde soit impossible ? (verrou ?)



Access n'est pas fait pour tourner 24/24 et ne possède pas
de méthode de sauvegarde comme SqlServer.

Il faut donc impérativement arrêter un moment chaque jour
pour faire la sauvegarde et relancer...

Un tâche planifiée résout cela en quelques minutes.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Artturi
3stone wrote:

Salut,


Salut,

"Mikael"
J'ai un système access qui tourne 24h/24 sur une machine et qui fait
fonctionner une base de données.
J'aimerais faire une sauvegarde automatique du fichier .mdb mais cela
est-il possible sans interrompre access ? Y a t il des risques que la
sauvegarde soit impossible ? (verrou ?)



Access n'est pas fait pour tourner 24/24 et ne possède pas
de méthode de sauvegarde comme SqlServer.


on fait pas toujours ce qu'on veut... :-(

Il faut donc impérativement arrêter un moment chaque jour
pour faire la sauvegarde et relancer...
Un tâche planifiée résout cela en quelques minutes.


Ok, merci

--
Artturi
Corriger mon courriel pour m'écrire


Avatar
Artturi
Artturi wrote:

Il faut donc impérativement arrêter un moment chaque jour
pour faire la sauvegarde et relancer...
Un tâche planifiée résout cela en quelques minutes.


Ok, merci


Je viens de me rappeler que dans mon cas, il ne faut pas quitter access en
fermant simplement la fenêtre. Il s'agit d'une application ou figure un
bouton sortir, seul moyen autorisé (par le développeur de l'appli) pour
fermer access.

Cela ne risque-t-il pas de poser pb avec un arrêt par script ?

--
Artturi
Corriger mon courriel pour m'écrire


Avatar
3stone
Salut,

"Artturi"
Je viens de me rappeler que dans mon cas, il ne faut pas quitter access en
fermant simplement la fenêtre. Il s'agit d'une application ou figure un
bouton sortir, seul moyen autorisé (par le développeur de l'appli) pour
fermer access.

Cela ne risque-t-il pas de poser pb avec un arrêt par script ?



Pour le comment, regarde ceci:
http://www.peterssoftware.com/cal.htm

quant au problème du bouton de sortie,
il faut faire l'essai (sur une copie...)


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
3stone
re,

"Artturi"
Je viens de me rappeler que dans mon cas, il ne faut pas quitter access en
fermant simplement la fenêtre....
<snip>



Une autre possibilité est de sauver la table à partir
de la base elle même.
Tu fait tourner le timer d'un formulaire caché...
a une heure déterminée, tu lance le backup.


Tu crée d'abord une base backup avec cette fonction...

Dim sNomBackup As String
sNomBackup = "Backup_" & Date

CreeBase(sNomBackup)


Function CreeBase(TitreBase As String)
Dim wrkDefault As Workspace
Dim dbsNew As Database
Set wrkDefault = DBEngine.Workspaces(0)
'Vérifie qu'aucun fichier ne porte le nom de la nouvelle base
If Dir(TitreBase) <> "" Then
CreeBase = False
Exit Function
End If
Set dbsNew = wrkDefault.CreateDatabase(TitreBase, dbLangGeneral)
dbsNew.Close
Set dbsNew = Nothing
Set wrkDefault = Nothing
End Function


Ensuite, tu exporte la (les) table(s)
DoCmd.TransferDatabase acExport, "Microsoft Access", sNomBackup, acTable, "NomTable","NomTableExt"

Bien sûr, de cette facon tu ne compacte pas ta base de travail,
ce qui est pourtant absolument nécessaire.

Et, pour cela, il est nettement plus indiquer de fermer
la base en cours pour réaliser le compactage comme indiqué ici :
http://access.jessy.free.fr/htm/DownLoad/CompactDb.htm
pour le backup du même coup, une ch'tit modif suffit.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------