|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : novembre 2010 Messages : 101 ![]() |
Bonjour à tous,
Il me faut créer une table A (plutôt qu'une requête simple) afin qu'elle serve d'historique. Comment faire cela ? Je souhaiterais que les données s'ajoutent à partir d'une autre table B, dont des lignes peuvent se supprimer (d'où l'intérêt de l'Historique table A : conservant les lignes supprimées de la table B) J'ai pensé au Mémo mais je ne sais trop comment m'en dépatouiller. Et je ne suis pas certain du juste service d'une Requête Insert. Suis-je sur la bonne voie ? Une idée ?
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonjour,
tout dépend de ce qu’on souhaite "historiser" et dans quel but… Pour archiver des enregistrements, une simple table (éventuellement sauvegardée dans un autre fichier) reprenant les champs de la table B avec une DateSuppression peut suffire. Sinon on peut aller jusqu’à une véritable journalisation avancée. |
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : novembre 2010 Messages : 101 ![]() |
Bonjour F-Leb,
Mon but est le suivant : archiver l'achat et la consommation de différents produits. Ma table "Courant" comprend les évènements gérés un temps entre l'achat et la consommation. A la consommation (date), je souhaite supprimer de la table "Courant", mais conserver dans la table "Historique". Effectivement, ce tuto est très intéressant. Seulement, je suis sur Access2003 format 2000... Bk |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Inscription : novembre 2010 Messages : 101 ![]() |
Bon : j'ai essayé cela, qui ne fonctionne pas à merveille et j'expliquerai pourquoi.
Je crée une Requête Ajout : Code :
Comment faire pour ajouter seulement la ligne ? ![]() Bk |
||
|
|
00
|
|
|
#5 |
![]() ![]() |
Bonjour
C'est normal que la requête que tu as fasses cela. Pour être sûr de ne copier que la ligne voulue, il faut que tu mettes un clause Where à ta requête et comme critère tu utilises la clé primaires qui est un identifiant unique. Mais attention, ta table de destination ne doit pas avoir cette clé comme clé primaire, mais cela doit être une simple table de stockage. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : novembre 2010 Messages : 101 ![]() |
Bonjour à Tous,
Merci Philippe pour la très juste remarque. J'ai finalement résolu mon problème et je vous en propose ici la démarche expérimentée : * créer une table (A) qui sera le fonds. * créer une requête Ajout s'appuyant sur la table (A) et se dirigeant sur la table (B) (avec en général au moins un critère pour rester logique) => Cette table (B) devient l'Historique, en raison du caractère Ajout, si et seulement si : * la requête Ajout est mobilisée à chaque enregistrement * créer une requête Suppression qui intervient sur la table (A) (selon le-s même-s critère-s que pour la requête Ajout) * la requête Suppression est mobilisée à chaque enregistrement La logique : - La table (A) comprend une CP, un Nom, une date Début, une date Fin, et n champs... La table B comprend exactement les mêmes champs. - Je crée une entrée avec une date Début => en A = Provisoire - Je peux mobiliser la requête Ajout et la requête Suppression (critère : Date Fin) : cela n'agira pas sur les enregistrements de A si la date Fin n'est pas entrée - Plus, j'entre une date Fin - Je mobilise la requête Ajout puis la requête Suppression (critère : Date Fin) : cela agit d'abord sur les enregistrements de A dont la date Fin est entrée en les inscrivant en table B (Historique), puis cela agit à nouveau sur les enregistrements de A dont la date Fin est entrée en les supprimant dans cette table A : cette table A est donc en qualité éphémère. => Les enregistrements ajoutés en B restent indemnes. On a donc bien : A = Provisoire ~ & ~ B = Historique Non ? Bk |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com