OVH Cloud OVH Cloud

Annuler / Répéter

4 réponses
Avatar
Jean-Baptiste Lecuit
Bonjour
Je voudrais ajouter à ma BDD une fonction Annuler/(Répéter, éventuellement),
qui permette, comme dans les autres applications Office, d'annuler ou de
répéter les dernières modifications. Ici : ajouts, suppressions,
modifications d'enregistrements.
Même si je devais me limiter à deux ou trois opérations
annulables/(répétables) Ce serait intéressant de pouvoir le faire,
J'ai pensé à deux solutions :
- Utiliser des transactions (imbriquées ?)
- avant chaque modification, stocker une sauvegarde complète de la base
"backend" dans un dossier temporaire, et la rappeler si annulation nécessaire
Y a-t-il une meilleure solution ?
S'il existe déjà un classique de ce genre de fonctionnalité, je suis
intéressé.
Merci d'avance
Jean-Baptiste Lecuit

4 réponses

Avatar
Gafish
Jean-Baptiste Lecuit wrote:
Bonjour


Bonjour,

Je voudrais ajouter à ma BDD une fonction Annuler/(Répéter,
éventuellement), qui permette, comme dans les autres applications
Office, d'annuler ou de répéter les dernières modifications. Ici :
ajouts, suppressions, modifications d'enregistrements.
Même si je devais me limiter à deux ou trois opérations
annulables/(répétables) Ce serait intéressant de pouvoir le faire,
J'ai pensé à deux solutions :
- Utiliser des transactions (imbriquées ?)
- avant chaque modification, stocker une sauvegarde complète de la
base "backend" dans un dossier temporaire, et la rappeler si
annulation nécessaire Y a-t-il une meilleure solution ?
S'il existe déjà un classique de ce genre de fonctionnalité, je suis
intéressé.


J'ai géré quelques chose de plus ou moins similaire par des numéros de lot.
Chaque lot d'enregistrements insérés est taggé par un numéro de lot. Ca te
permettra de supprimer un lot facilement par exemple, le dernier numéro de
lot étant la dernièer opération effectuée.
Si tu veux gérer plus finement, tu peux tagger l'opération effectuée
(insert, update).
Pour les suppressions, tu peux faire passer l'enregistrement à un état
supprimé par un oui/non par exemple, et tu peux tous les supprimé à un
moment donné. Dans l'intervalle tu les récupéres en décochant.
Voila quelques idées, si ca peut faire avancer ton schmilblick :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jean-Baptiste Lecuit
Merci à toi
Je retiens l'idée du cochage des éléments à supprimer. ça permet d'appliquer
un filtre qui les cache à l'utilisateur, mais permet de les restituer
facilement
Qu'entends-tu par "Tagger l'opération effectuée (insert,update)" ? créer une
table contenant une description simple de ces opérations, et affecter chaque
enregistrement de la table à une opération effectuée ?
Du style :
IdOpération / Nature de l'opération (ajout, suppression, modification) /
Enregistrement concerné

Merci d'avance
JBL


Jean-Baptiste Lecuit wrote:
Bonjour


Bonjour,

Je voudrais ajouter à ma BDD une fonction Annuler/(Répéter,
éventuellement), qui permette, comme dans les autres applications
Office, d'annuler ou de répéter les dernières modifications. Ici :
ajouts, suppressions, modifications d'enregistrements.
Même si je devais me limiter à deux ou trois opérations
annulables/(répétables) Ce serait intéressant de pouvoir le faire,
J'ai pensé à deux solutions :
- Utiliser des transactions (imbriquées ?)
- avant chaque modification, stocker une sauvegarde complète de la
base "backend" dans un dossier temporaire, et la rappeler si
annulation nécessaire Y a-t-il une meilleure solution ?
S'il existe déjà un classique de ce genre de fonctionnalité, je suis
intéressé.


J'ai géré quelques chose de plus ou moins similaire par des numéros de lot.
Chaque lot d'enregistrements insérés est taggé par un numéro de lot. Ca te
permettra de supprimer un lot facilement par exemple, le dernier numéro de
lot étant la dernièer opération effectuée.
Si tu veux gérer plus finement, tu peux tagger l'opération effectuée
(insert, update).
Pour les suppressions, tu peux faire passer l'enregistrement à un état
supprimé par un oui/non par exemple, et tu peux tous les supprimé à un
moment donné. Dans l'intervalle tu les récupéres en décochant.
Voila quelques idées, si ca peut faire avancer ton schmilblick :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
Jean-Baptiste Lecuit wrote:
Qu'entends-tu par "Tagger l'opération effectuée (insert,update)" ?


Oui, mettre en face du lot l'opération effectuée.
Parce que revenir en arrière d'un update ne sera pas pareil que d'un insert,
soit via un champ dans la table, soit via une table des opérations
effectivement qui peut être une bonne idée.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jean-Baptiste Lecuit
Merci beaucoup


Jean-Baptiste Lecuit wrote:
Qu'entends-tu par "Tagger l'opération effectuée (insert,update)" ?


Oui, mettre en face du lot l'opération effectuée.
Parce que revenir en arrière d'un update ne sera pas pareil que d'un insert,
soit via un champ dans la table, soit via une table des opérations
effectivement qui peut être une bonne idée.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr