|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 113 ![]() |
Bonjour à tous,
Pour ma part, je suis entrain de developper un application sous access 2007, et je me pose la question. Quel est la meilleur solution pour archiver des données sous access ? C'est pour cela que j'ai posé ce topic et ça permettra pi être : - Avoir des avis différents. - Par la même occasion, Créer un vrai debat d'opinion ("j'ai bien dit pi être").Voila, j'éspère que ce sujet vous inspire... |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Une deuxième base de données qui contiendrait uniquement les champs et tables à conserver (genre les commentaires sur les produits pourraient être abndonnés), etc...
Si la base est petite, un simple champ booléen Archivé dans chaque table peut être une solution viable |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 113 ![]() |
Ouai, j ai aussi pensé à convertir certaine table de la base en fichier .txt et les balancer ensuite sur le disque dur
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Le soucis d'un txt c'est que ça ne va pas être optimisé question volume ni question recherche (si besoin il y a)
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 113 ![]() |
En gros tu préconises de : réouvrir une base, parcourir chaque ligne du recordset pour voir quel case est cocher par exemple puis copier puis supprimer puis fermer la base sauvegarde.
Es ce que ce ne sera pas trop lourd a gérer pour access ? |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
règle 1 des back ups réguliers (la régularité va dépendre de la fréquence de mise à jour des données, ainsi pour des fichiers mensuels un back up mensuel est suffisant alors que des données de comptabilité donneront lieu à un back up journalier )
ensuite il n'y a pas de règle absolue on peut même ne jamais archiver j'ai une base avec toutes les données depuis 93 (pfft ca rajeunit pas) il faut d'abord disposer du volume de la base et du taux de rotation des données il faut aussi définir la durée d'archivage nécessaire et la fréquence des accès aux archives il faut aussi définir le mode d'accès aux archives (dynamique avec les données, ou archives séparées par base (mdata2007,mdata2006...) en ce qui concerne les phases de développement une copie de la base de développement à la demie journée est un bon compromis
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 113 ![]() |
(dynamique avec les données, ou archives séparées par base (mdata2007,mdata2006...)
Les mdata, je ne connais pas cela signifie qu'il y a un systeme d'archivage inclu dans access ?Si tu as plus d'infos, et si cela existe(systeme archivage access) est il fiable? |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 095 ![]() |
Non il n'y a pas de système d'archivage natif. (mdata n'est qu'un exemple de nom... faut être habitué à Random
)Le but de l'archivage est de mettre de coté les données qui ne sont plus nécessaire au fonctionnement direct de l'application. Pour exemple dans une gestion de facturation : Toutes les factures que l'on a plus besoin de consulter : honorées, passées en compta, matériel et/ou travaux effectués... Dans cet exemple on ne doit pas oublier les données descendantes : Le détail de la facture, les paiements correspondant, les relances... On peut utiliser un champ de pointage (booléen) dans le cas ou il est coché l'enregistrement et bon pour l'archivage. Une fois ceci définie on peut procéder avec la méthode suivante :
Attention la suppression doit se faire en dernier et de bas en haut à cause des relations. L'ajout par contre se fait de haut en bas. A cause de l'intégrité référencielle. On peut très bien utiliser le programme de Taches plannifiés pour lancer une application dédiée à cette tâche (la nuit ou le week end). Une autre méthode plus brute consiste à faire une sauvegarde des bases (toutes les semaines par exemple) puis faire une suppression pure et simple des enregistrements n'ayant plus d'intéret. Le problème est de gérer la consultation des enregistrements supprimer (comment les retrouver dans les 52 sauvegarde d'une année (flotante) ou les 104 sur 2 années... Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
faut être habitué à Loufab
il ne veut surtout pas dire qu'il ne faut pas faire de back up à fréquence régulière si on archive
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 095 ![]() |
Tu m'as compris Random :
Je ne dis surtout pas de ne pas faire de sauvegarde régulière.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#11 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 352 ![]() |
Pour l'archivage, si on veut économiser de la place sur le disque dur, on peut toujours utiliser le XML.
Mais personnellement, j'utilise la méthode de Tofalu, un champ booléen pour ne plus afficher les données. Mes bases sont relativement petites max 20 Mo de données pour l'instant.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 113 ![]() |
Bonjour,
Bah perso pour mon application actuelle, j'ai fini par opter pour une deuxième base "archivage". Je pense que c'est une meilleur solution qu'un fichier text finalement et comme le soulignait tofalu : ce sera plus pratique pour faire des recherches eventuelles. Par contre, niveau conception, pour l'export, c'est assez rapide, meme plus rapide que prévu, meme pas besoin de recordset et de vba, un requète avec into va bien et n'alourdit pas trop le prog. Le point plus galère est la supression des enregistrements dans les tables de bas en haut (je galère un peu la dessus en ce moment ) car j'ai des tables joiture avec deux clés primaire je pense... Enfin, je pense que c'est une bonne solution. Mais peut être qu'une amélioration possible serait de créer automatiquement via du vba dao une base archivage tous les ans pour ne pas trop alourdir la prémière... |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 184 ![]() |
Bonsoir,
Je reviens sur les système d'archivage. et j'amène une nouvelle question pour un débat sur l'utilisation des archives. La solution d'une base archive où l'on bascule tous les enregistrements " obsolètes" , que l'on supprime dans la base courante , me parait très bien. Néanmoins comment fait-on pour utiliser les données archivées lorsque que l'on en a besoin ?? Parce dans le cas d'une base archive l'on a plus de lien avec la base courante ! Pas de base frontale contenant les formulaires etc... Quelles peuvent être les méthodes pour utiliser une base archive avec les mêmes possibilité que la base courante ?? réinsérer tous les enregistrements " obsolètes" souhaité dans la base courante le temps de faire de l'utilisation après on les supprime de nouveau ..... c'est un peu lourd .... Un avis sur la question ??
__________________
VBA pour Access - Dossier Micro Application |
|
|
00
|
|
|
#14 |
![]() ![]() |
Salut,
Il y a une solution tout à fait 'basique' C'est une idée comme ça pas vraiment réfléchie mais la voici quand même :
__________________
Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 184 ![]() |
Oui d'accord ,ca peut être une bonne solution mais dans ce cas la il faut recréer un tout un système de requet spécialement pour les archives en plus de celles existantes pour la bases courantes.
Ca fait du boulot , autant que pour la base courante ? peut etre
__________________
VBA pour Access - Dossier Micro Application |
|
|
00
|
|
|
#16 |
![]() ![]() |
Dans ce cas là : tu intègres la requête UNION partout où tu en as besoin.
__________________
Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
00
|
|
|
#17 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 184 ![]() |
Effectivement , pourtant j'utilise les requetes union mais j'avais pas vu cela comme çà.
Cela résoud pas mal de problème , car pour moi , l'intêret est de garder un minimum de donnée nécessaire dans les bases courantes . Car certaines sont synchronisées avec un pocket PC , et un pc peut supporter beaucoup de données, et de requêtes , mais sur un pocket les requêtes deviennent très très longues.
__________________
VBA pour Access - Dossier Micro Application |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com