Base ACCESS fractionnée - Compactage et sauvegarde de la dorsale

Fermé
maud - 31 oct. 2012 à 17:23
 maud - 27 nov. 2012 à 18:15
Bonjour,

Y a t'il une solution à partir du frontal d'une base ACCESS 2010 fractionnée de :
1) lancer le compactage de la dorsale
2) d'effectuer une sauvegarde la dorsale

Merci d'avance pour votre aide


A voir également:

10 réponses

Faute de réponse, dois-je en conclure qu'il n'y a vraiment pas de solution?
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
Modifié par blux le 7/11/2012 à 09:56
Salut,

ça doit pouvoir se faire en lançant la ligne de commande adéquate via un shell, avec cependant le risque de multi-utilisation via plusieurs MDE...

genre :

shell("C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" /compact "C:\Mes Documents\bd1.mdb")

A+ blux
 "Les cons, ça ose tout. 
C'est même à ça qu'on les reconnait"
0
Bonjour Blux,

Par ce biais il y a effectivement un risque en cas de multi-utilisation.
Afin de parer à ce problème, j'ai imaginé un scénario qui semble (à priori...) tenir la route, à savoir :
- à la fermeture du frontal (par clic sur bouton "Quitter" du Menu), l'ouverture de la dorsale se fait automatiquement (les lignes de codes seraient à définir en conséquence avec l'adresse de la dorsale rentrée en dur)
- l'ouverture de la dorsale s'accompagne de celle d'un formulaire que j'appellerai FrmCompactage pour la circonstance
- à l'ouverture du formulaire une macro évènementielle s'exécute afin de quitter la base

Le compactage étant lancé automatiquement à la fermeture de la base, il y a alors 2 possibilités :
- soit un autre utilisateur travaille sur l'applicatif et dans ce cas il n'y a pas de compactage lors de la fermeture de la dorsale
- soit personne n'est sur l'applicatif et le compactage s'exécute et le tour est joué!

Le seul hic qui semble subsister est : qu'est-ce qu'il se passe si une personne ouvre le frontal pendant le compactage de la dorsale???

Qu'en penses-tu?
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
7 nov. 2012 à 11:14
Le seul hic qui semble subsister est : qu'est-ce qu'il se passe si une personne ouvre le frontal pendant le compactage de la dorsale???
Peut-être que le .ldb va temporiser l'ouverture...
0
L'aventure me tente...

les lignes de codes seraient à définir en conséquence avec l'adresse de la dorsale rentrée en dur
Tu connais mes faiblesses en la matière......
Prêt à m'aider?
Un grand merci par avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
7 nov. 2012 à 12:35
Pourquoi tu ne lances pas un compactage, le soir à 23h00, directement sur la machine qui héberge la dorsale ?

Sous windows, on peut paramétrer des actions automatiques via le planificateur de tâches...
0
Si ce n'est pas trop abusé, les 2 méthodes m'intéressent...
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
8 nov. 2012 à 22:59
Je vais disparaitre des écrans radar pendant une semaine, donc je ne pourrais pas t'être d'un grand secours jusque là...
0
Salut Blux,

Quand tu veux...
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
26 nov. 2012 à 16:20
Pour le planificateur de tâche, c'est à toi de le paramétrer pour mettre la bonne ligne de commande...
Pour le reste, tu peux tester le code que j'avais donné en le mettant sur un bouton, dans un premier temps...
0
Pour le planificateur de tâche, c'est à toi de le paramétrer pour mettre la bonne ligne de commande...
jamais fait çà...

tu peux tester le code que j'avais donné
Ouk tu l'as mis???????????
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
26 nov. 2012 à 20:48
0
1- Je regarde
2- Voir 7/11/2012 10:56
J'ai quand même essayé avec le code que tu m'as transmis et retranscrit comme suit :

Private Sub Commande18_Click()
shell("C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" /compact "C:\Documents and Settings\......\Data\Données_2010.accdb")
End Sub

mais quand je l'exécute il me dit qu'il y a une erreur de syntaxe...
Faut-il réellement écrire "Shell" en début de ligne?
0
blux Messages postés 26446 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 novembre 2024 3 312
27 nov. 2012 à 09:40
Il faut juste renvoyer la valeur du shell dans une variable...
Positionne ton curseur sur shell, appuie sur F1, tu iras directement dans l'aide concernant ce mot-clé, tu regarderas les exemples fournis.
0
Je ne m'en sors pas, tout ça pour moi c'est du chinois!

Quant au planificateur de tâche, quand je cherche à ouvrir Access (bien que ce ne soit pas la finalité de ce que je souhaite...), il m'envoie un message d'erreur comme quoi je ne dispose pas de l'autorisation pour effectuer l'opération requise (que j'indique ou non un mot de passe)..


JE CRAQUE!!!
0