Bonjour
Je me trouve face à un pb que beaucoup de personnes doivent connaitre,
j'ai une table qui au fil du temps est devenue énorme.La solution serait que
j'ajoute sur mon formulaire qui rempli cette table une case à cocher et
lorsqu'elle
est cochée l'écriture en question disparaitrait de cette table et irait dans
une autre
table nommée archive(histoire de ne pas perdre complètement l'enregistrement
et de pouvoir le consulter ultérieurement.).
Qq aurait une idée car moi je sèche vraiment.
Merci d'avance pour vos idées
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
Le gros problème dans ce type d'opération est de savoir si cette table est reliée à d'autres tables tout aussi évolutives et si elles doivent être elles-mêmes archivées. un cas parmi les plus simples est par exemple une table de visites clients qui a accumulé des données pendant des années et qui n'a jamais été vidée des clients disparus. on peut donc faire un archivage par une requête ajout et une requête suppression avec la date de visite comme critère. Ensuite on peut faire pareil pour les clients qui n'ont plus de visites et les archiver. Ce qui n'empêche pas qu'il faut tester toutes les tables reliées aux clients pour savoir si une donnée autre n'est pas encore en cours dans la base. le gros travail est de déterminer les critères de sélection, les différentes requêtes ajout et suppression n'étant que de la simple programamtion.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a450b0$0$8401$
Bonjour Je me trouve face à un pb que beaucoup de personnes doivent connaitre, j'ai une table qui au fil du temps est devenue énorme.La solution serait que
j'ajoute sur mon formulaire qui rempli cette table une case à cocher et lorsqu'elle est cochée l'écriture en question disparaitrait de cette table et irait dans
une autre table nommée archive(histoire de ne pas perdre complètement l'enregistrement
et de pouvoir le consulter ultérieurement.). Qq aurait une idée car moi je sèche vraiment. Merci d'avance pour vos idées
Bonjour.
Le gros problème dans ce type d'opération est de savoir si cette table est
reliée à d'autres tables tout aussi évolutives et si elles doivent être
elles-mêmes archivées.
un cas parmi les plus simples est par exemple une table de visites clients
qui a accumulé des données pendant des années et qui n'a jamais été vidée
des clients disparus. on peut donc faire un archivage par une requête ajout
et une requête suppression avec la date de visite comme critère. Ensuite on
peut faire pareil pour les clients qui n'ont plus de visites et les
archiver.
Ce qui n'empêche pas qu'il faut tester toutes les tables reliées aux clients
pour savoir si une donnée autre n'est pas encore en cours dans la base.
le gros travail est de déterminer les critères de sélection, les différentes
requêtes ajout et suppression n'étant que de la simple programamtion.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" <jmp@calixo.net> a écrit dans le message de
news:40a450b0$0$8401$a0ced6e1@news.skynet.be...
Bonjour
Je me trouve face à un pb que beaucoup de personnes doivent connaitre,
j'ai une table qui au fil du temps est devenue énorme.La solution serait
que
j'ajoute sur mon formulaire qui rempli cette table une case à cocher et
lorsqu'elle
est cochée l'écriture en question disparaitrait de cette table et irait
dans
une autre
table nommée archive(histoire de ne pas perdre complètement
l'enregistrement
et de pouvoir le consulter ultérieurement.).
Qq aurait une idée car moi je sèche vraiment.
Merci d'avance pour vos idées
Le gros problème dans ce type d'opération est de savoir si cette table est reliée à d'autres tables tout aussi évolutives et si elles doivent être elles-mêmes archivées. un cas parmi les plus simples est par exemple une table de visites clients qui a accumulé des données pendant des années et qui n'a jamais été vidée des clients disparus. on peut donc faire un archivage par une requête ajout et une requête suppression avec la date de visite comme critère. Ensuite on peut faire pareil pour les clients qui n'ont plus de visites et les archiver. Ce qui n'empêche pas qu'il faut tester toutes les tables reliées aux clients pour savoir si une donnée autre n'est pas encore en cours dans la base. le gros travail est de déterminer les critères de sélection, les différentes requêtes ajout et suppression n'étant que de la simple programamtion.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a450b0$0$8401$
Bonjour Je me trouve face à un pb que beaucoup de personnes doivent connaitre, j'ai une table qui au fil du temps est devenue énorme.La solution serait que
j'ajoute sur mon formulaire qui rempli cette table une case à cocher et lorsqu'elle est cochée l'écriture en question disparaitrait de cette table et irait dans
une autre table nommée archive(histoire de ne pas perdre complètement l'enregistrement
et de pouvoir le consulter ultérieurement.). Qq aurait une idée car moi je sèche vraiment. Merci d'avance pour vos idées
Michel
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur un enregistrement de la table par le biais du formulaire et que l'on clique sur un bouton ou une case à cocher l'enregistrement soit couper de cette table et coller dans une autre identique à la première, cela permettrait de ne plus afficher l'enregistrement lors de la consultation du formulaire.
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur un
enregistrement de la table par le biais du formulaire et que l'on clique sur
un bouton
ou une case à cocher l'enregistrement soit couper de cette table et coller
dans une autre identique à la première, cela permettrait de ne plus afficher
l'enregistrement lors de la consultation du formulaire.
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur un enregistrement de la table par le biais du formulaire et que l'on clique sur un bouton ou une case à cocher l'enregistrement soit couper de cette table et coller dans une autre identique à la première, cela permettrait de ne plus afficher l'enregistrement lors de la consultation du formulaire.
Raymond [mvp]
C'est le même principe. sur ton formulaire est inscrite la clé primaire ( ou tu l'as dans ton recordset). sur le clic du bouton tu fais: - requête ajout de la table1 vers la table2 avec clause where sur la clé primaire - requête suppression sur la table1 avec clause where sur la clé primaire - rafraichissement du formulaire
faire attention à la clé primaire si elle est sur un numauto, car ton numauto va changer dans la table2 et tu vas perdre les relations avec les autres tables, à moins que tu ais toujours transférer le numauto dans la table2. Donc si ta table2 n'existe pas encore fais un essai de transfert avec le numauto pour vérifier toutes tes données.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a462ab$0$8419$
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur un
enregistrement de la table par le biais du formulaire et que l'on clique sur
un bouton ou une case à cocher l'enregistrement soit couper de cette table et coller dans une autre identique à la première, cela permettrait de ne plus afficher
l'enregistrement lors de la consultation du formulaire.
C'est le même principe.
sur ton formulaire est inscrite la clé primaire ( ou tu l'as dans ton
recordset).
sur le clic du bouton tu fais:
- requête ajout de la table1 vers la table2 avec clause where sur la clé
primaire
- requête suppression sur la table1 avec clause where sur la clé primaire
- rafraichissement du formulaire
faire attention à la clé primaire si elle est sur un numauto, car ton
numauto va changer dans la table2 et tu vas perdre les relations avec les
autres tables, à moins que tu ais toujours transférer le numauto dans la
table2. Donc si ta table2 n'existe pas encore fais un essai de transfert
avec le numauto pour vérifier toutes tes données.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" <jmp@calixo.net> a écrit dans le message de
news:40a462ab$0$8419$a0ced6e1@news.skynet.be...
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur
un
enregistrement de la table par le biais du formulaire et que l'on clique
sur
un bouton
ou une case à cocher l'enregistrement soit couper de cette table et coller
dans une autre identique à la première, cela permettrait de ne plus
afficher
l'enregistrement lors de la consultation du formulaire.
C'est le même principe. sur ton formulaire est inscrite la clé primaire ( ou tu l'as dans ton recordset). sur le clic du bouton tu fais: - requête ajout de la table1 vers la table2 avec clause where sur la clé primaire - requête suppression sur la table1 avec clause where sur la clé primaire - rafraichissement du formulaire
faire attention à la clé primaire si elle est sur un numauto, car ton numauto va changer dans la table2 et tu vas perdre les relations avec les autres tables, à moins que tu ais toujours transférer le numauto dans la table2. Donc si ta table2 n'existe pas encore fais un essai de transfert avec le numauto pour vérifier toutes tes données.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a462ab$0$8419$
Non j'ai du mal expliquer. J'aimerais simplement que lorsque l'on est sur un
enregistrement de la table par le biais du formulaire et que l'on clique sur
un bouton ou une case à cocher l'enregistrement soit couper de cette table et coller dans une autre identique à la première, cela permettrait de ne plus afficher
l'enregistrement lors de la consultation du formulaire.
Michel
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça coince c'est pour instruction Where Ma clef primaire est le champs numéro (qui est un incrément auto) dans la condition je met "where numéro=""" pour qu'il ajoute l'enregistrement en cours dans la table 2 access me préviens qu'il va le faire mais il n'ajoute rien. Je sens que ma condition where n'est pas juste, n'est il pas!
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça
coince
c'est pour instruction Where
Ma clef primaire est le champs numéro (qui est un incrément auto)
dans la condition je met "where numéro=""" pour qu'il ajoute
l'enregistrement en cours dans la table 2 access me préviens qu'il va le
faire mais il n'ajoute rien.
Je sens que ma condition where n'est pas juste, n'est il pas!
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça coince c'est pour instruction Where Ma clef primaire est le champs numéro (qui est un incrément auto) dans la condition je met "where numéro=""" pour qu'il ajoute l'enregistrement en cours dans la table 2 access me préviens qu'il va le faire mais il n'ajoute rien. Je sens que ma condition where n'est pas juste, n'est il pas!
Raymond [mvp]
ta clause doit être ceci: WHERE table1.Numéro = [Formulaires]![Formulaire1]![Numéro];
Formulaire1 est le nom réel de ton formulaire. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a46fa0$0$9763$
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça coince c'est pour instruction Where Ma clef primaire est le champs numéro (qui est un incrément auto) dans la condition je met "where numéro=""" pour qu'il ajoute l'enregistrement en cours dans la table 2 access me préviens qu'il va le faire mais il n'ajoute rien. Je sens que ma condition where n'est pas juste, n'est il pas!
ta clause doit être ceci:
WHERE table1.Numéro = [Formulaires]![Formulaire1]![Numéro];
Formulaire1 est le nom réel de ton formulaire.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" <jmp@calixo.net> a écrit dans le message de
news:40a46fa0$0$9763$a0ced6e1@news.skynet.be...
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça
coince
c'est pour instruction Where
Ma clef primaire est le champs numéro (qui est un incrément auto)
dans la condition je met "where numéro=""" pour qu'il ajoute
l'enregistrement en cours dans la table 2 access me préviens qu'il va le
faire mais il n'ajoute rien.
Je sens que ma condition where n'est pas juste, n'est il pas!
ta clause doit être ceci: WHERE table1.Numéro = [Formulaires]![Formulaire1]![Numéro];
Formulaire1 est le nom réel de ton formulaire. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Michel" a écrit dans le message de news:40a46fa0$0$9763$
C'est encore moi! J'arrive bien à créer ma requête ajout mais la ou ça coince c'est pour instruction Where Ma clef primaire est le champs numéro (qui est un incrément auto) dans la condition je met "where numéro=""" pour qu'il ajoute l'enregistrement en cours dans la table 2 access me préviens qu'il va le faire mais il n'ajoute rien. Je sens que ma condition where n'est pas juste, n'est il pas!
Michel
Merci beaucoup à Raymond [mvp] pour tes conseils ça fonctionne en ajout alors maintenant je peux aller plus loin Bonne journée
Merci beaucoup à Raymond [mvp] pour tes conseils
ça fonctionne en ajout alors maintenant je peux aller plus loin
Bonne journée