Archiver des données Access

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Vous pouvez contribuer à la bonne organisation de vos données en archivant périodiquement les enregistrements anciens ou inactifs. Par exemple, imaginons que vous utilisiez Access pour gérer une bibliothèque de prêt. Vous vous servez éventuellement d’une table pour assurer le suivi des transactions de prêts, avec un champ qui contient la date à laquelle l’élément a été emprunté ainsi qu’un champ qui contient la date à laquelle il a été rendu. Votre stratégie de conservation des enregistrements peut consister à archiver les enregistrements relatifs aux transactions de prêts pendant un an, à partir du moment où l’élément a été rendu, puis à détruire ces enregistrements au bout de deux ans.

Vous pouvez archiver toutes les tables d’une base de données, des tables spécifiques ou uniquement des enregistrements particuliers (par exemple les enregistrements antérieurs à une date précise). Cette rubrique explique comment archiver des données.

Dans cet article

Vue d’ensemble

Déplacer périodiquement des enregistrements vers une table d’archivage

Remplacer périodiquement une table

Remplacer périodiquement toutes les tables

Vue d’ensemble

Vous devez songer à archiver vos données lorsque vous disposez de données que vous n’avez plus l’intention d’utiliser mais que vous voulez conserver à portée de main en cas de besoin. Vous pouvez suivre une stratégie en matière d’archivage, par exemple une stratégie de conservation des données.

L’archivage est souvent utilisé pour stocker des données en fonction d’une date, par exemple à la fin d’un mois.

Méthodes d’archivage des données

Le tableau suivant répertorie les différentes méthodes d’archivage des données, indique les circonstances appropriées à l’utilisation de chaque méthode et décrit les considérations annexes à prendre en compte.

Méthode

Description

À utiliser quand...

Considérations annexes

Déplacer périodiquement des enregistrements vers une table d’archivage

À intervalles réguliers, vous exécutez une requête qui sélectionne les données que vous souhaitez archiver et qui ajoute ces données à une table d’archivage. Vous exécutez ensuite une requête qui sélectionne les mêmes données (à partir de la table d’origine) afin de les supprimer.

Certains des enregistrements d’une table répondent à la condition que vous utilisez pour déterminer l’exécution ou non d’un archivage.

EXEMPLE : vous voulez archiver des transactions de bibliothèque (prêts) à condition que la date de restitution remonte au moins à un an.

  • Vous devrez peut-être gérer l’intégrité référentielle, en particulier si les enregistrements que vous souhaitez archiver se trouvent du côté « un » d’une relation un-à-plusieurs.

  • Si vous avez besoin utiliser des paramètres dans vos requêtes, vous devez créer un formulaire pour gérer les paramètres. Dans le cas contraire, vous risquez de perte de données.

Remplacer périodiquement une table

À intervalles réguliers, vous effectuez une copie d’archivage d’une table particulière, puis vous remplacez la table par une nouvelle copie vide.

Tous les enregistrements d’une table répondent à la condition que vous utilisez pour déterminer l’exécution ou non d’un archivage.

EXEMPLE : vous disposez d’une table qui stocke les températures extrêmes quotidiennes. Chaque année, vous archivez cette table afin d’en recommencer une nouvelle vide.

  • Vous devrez peut-être gérer l’intégrité référentielle.

Remplacer périodiquement toutes les tables

Vous démarrez avec une base de données fractionnée (base de données qui comprend un fichier de base de données principale contenant toutes les tables et un fichier de base de données frontale contenant tous les autres objets de base de données). À intervalles réguliers, vous effectuez une copie d’archivage de la base de données principale, puis vous remplacez la base de données principale par une nouvelle base de données vide.

Tous les enregistrements dans la plupart des tables de votre base de données répondent à la condition que vous utilisez pour déterminer l’exécution ou non d’un archivage.

EXEMPLE : votre base de données comporte plusieurs tables avec différents types de données météorologiques. Chaque année, vous archivez l’ensemble des tables.

  • Si vous disposez de tables de choix (tables qui vous permettent de stocker des valeurs de recherche, par exemple des codes postaux ou des départements), vous devrez peut-être importer leurs données dans la nouvelle base de données principale.

  • Vous ne pouvez pas utiliser de macro pour cette méthode. Vous devez archiver la base de données manuellement.

Gestion de l’intégrité référentielle

Si les enregistrements que vous souhaitez archiver sont liés à des enregistrements situés dans d’autres tables, vous devrez peut-être gérer la relation. Si les enregistrements que vous souhaitez archiver sont des enregistrements « enfants » (ils se trouvent du côté « plusieurs » d’une relation un-à-plusieurs), vous pouvez probablement les archiver sans problème. Si les enregistrements que vous souhaitez archiver sont des enregistrements « parents » (ils se trouvent du côté « un » d’une relation un-à-plusieurs), lorsque vous les archivez, leurs enregistrements « enfants » liés peuvent :

  • Vous empêcher de supprimer les enregistrements « parents ». Cela peut poser des problèmes si vous avez déjà ajouté les enregistrements « parents » à la table d’archivage.

    - ou -

  • Devenir « orphelins » (enregistrements qui appartiennent à un « parent » inexistant). Cela peut poser des problèmes pour l’intégrité des données et pour diverses fonctionnalités de la base de données qui utilise ces enregistrements « orphelins ».

Pour tenir compte de l’intégrité référentielle, procédez comme suit :

  1. Déterminez quels sont les enregistrements « enfants » liés aux enregistrements que vous souhaitez archiver. Par exemple, si je veux archiver les enregistrements des livres que je prête dans ma bibliothèque, je dois d’abord déterminer s’il existe des transactions ouvertes pour ces livres, en l’occurrence si les livres ont été prêtés mais qu’ils n’ont pas encore été rendus.

  2. Effectuez l’une des opérations suivantes :

    • Si l’enfant » « enregistrements peuvent toujours être supprimés en toute sécurité, assurez-vous que la relation assure l’intégrité référentielle, avec les suppressions en cascade. Cela garantit que tous les enregistrements associés « enfants » seront supprimées.

    • Si les enregistrements « enfants » ne peuvent pas toujours être supprimés sans risque, songez à archiver toutes les tables de la base de données.

    • Créez une requête qui sélectionne les enregistrements « parents » n’ayant pas d’enregistrements « enfants ». Utilisez ensuite cette première requête pour créer vos requêtes d’archivage (voir la section Déplacer périodiquement des enregistrements vers une table d’archivage) au lieu d’utiliser la table « parente ».

      Conseil : Vous pouvez utiliser l’Assistant Requête pour rechercher les enregistrements sans correspondance. Pour plus d’informations, voir l’article Comparer deux tables et rechercher des enregistrements sans correspondance.

Haut de la page

Déplacer périodiquement des enregistrements vers une table d’archivage

En premier lieu, créez une copie vide de la table qui contient les enregistrements que vous souhaitez archiver. Cette nouvelle table vide est votre table d’archivage. Créez ensuite une requête Ajout pour copier les enregistrements de la table d’origine vers la table d’archivage. Créez ensuite une requête Suppression pour supprimer les enregistrements archivés dans la table d’origine. Enfin, créez une macro qui exécute les deux requêtes. Lorsque vous souhaitez archiver des enregistrements, exécutez la macro.

Conseil : Vous pouvez lier une macro à un bouton de formulaire, de sorte que lorsqu’un utilisateur clique sur le bouton, la macro s’exécute.

Étape1: créer une table d’archivage

Étape 2 : créer une requête qui copie des données vers votre table d’archivage

Étape 3 : créer une requête Suppression qui supprime les mêmes données dans votre table d’origine

Étape4: créer une macro qui exécute les deux requêtes

Étape 1 : créer une table d’archivage

Si vous souhaitez conserver l’ensemble de vos enregistrements archivés dans une seule table, vous ne devez effectuer cette étape qu’une seule fois. La table d’archivage que vous créez au cours de cette étape contient l’ensemble de vos enregistrements archivés.

Si vous souhaitez détruire votre ancienne table d’archivage au moment où vous en créez une autre, vous n’avez pas besoin d’effectuer cette étape. Vous pouvez utiliser une requête Création de table à la place d’une requête Ajout pour copier les données dans votre table d’archivage. Pour ce faire, passez à l’étape2.

Si vous souhaitez utiliser une nouvelle table d’archivage à chaque archivage, et si vous souhaitez conserver vos anciennes tables d’archivage, renommez votre ancienne table d’archivage avant d’en créer une autre. Si vous effectuez l’archivage en fonction d’une date, songez à nommer vos anciennes tables d’archivage en fonction de la plage de dates correspondante.

Remarque : Si vous créez à chaque fois une table d’archivage et si vous conservez l’ancienne, vous devez renommer l’ancienne archive avant d’exécuter vos requêtes.

  1. Dans le volet de navigation, sélectionnez la table qui contient les enregistrements à archiver, appuyez sur Ctrl+C, puis sur Ctrl+V.

  2. Dans la boîte de dialogue Coller la table sous, sous Options, sélectionnez Structure seulement.

  3. Dans la zone Nom de la Table, supprimer les mots Copie d’et ajouter un trait de soulignement et l’archive « word » dans le nom de table existante, puis cliquez sur OK. Par exemple, si la table d’origine est nommée Transactions la table d’archive est nommée Transactions_archive.

    Coller la table sous

Étape 2 : créer une requête qui copie des données vers votre table d’archivage

  1. Dans l'onglet Créer, cliquez sur Création de requête dans le groupe Autre.

  2. Utilisez la boîte de dialogue Afficher la table pour ajouter la table qui contient les enregistrements à archiver. Fermez la boîte de dialogue Afficher la table.

  3. Dans la fenêtre de structure de la requête, double-cliquez sur l’astérisque (*) de la table que vous venez d’ajouter. Le nom de la table et un astérisque s’affichent dans la première colonne de la grille de création de la requête.

    Remarque : L’astérisque indique que la requête doit inclure tous les champs de la table dans son résultat. Lorsque vous utilisez l’astérisque, si des champs sont ajoutés ou supprimés de la table, le résultat de la requête s’ajuste en conséquence.

  4. Dans la fenêtre de structure de la requête, double-cliquez sur le champ à utiliser afin de spécifier une condition d’archivage des enregistrements. Par exemple, si votre table Transactions comporte un champ Date de restitution et si vous souhaitez archiver tous les enregistrements pour lesquels cette date est postérieure à un an, double-cliquez sur Date de restitution. Le champ s’affiche dans la prochaine colonne vide de la grille de création de la requête.

    Grille de création de la requête

    Répétez cette étape si vous souhaitez utiliser des critères avec des champs supplémentaires.

  5. Utilisez la ligne Critères pour spécifier les critères des champs que vous venez d’ajouter. Par exemple, vous pouvez spécifier que la date de restitution doit être antérieure au 1er janvier 2008 à l’aide de l’expression <#1/1/2008# dans la ligne Critères.

    Si vos critères changent à chaque archivage, créez votre requête de sorte qu’elle demande une entrée. Pour ce faire, utilisez un paramètre dans la ligne Critères afin que la requête demande une entrée. Pour utiliser un paramètre, employez une expression de manière habituelle, mais au lieu d’indiquer une valeur spécifique, formulez une brève question en la délimitant par des crochets. Par exemple, vous pouvez utiliser l’expression <[Archiver les transactions terminées avant le :], comme suit :

    Expression de paramètre

    Pour plus d’informations sur l’utilisation des paramètres, voir l’article Faire en sorte qu’une requête demande une entrée.

    Vous pouvez également utiliser la ligne ou pour spécifier des conditions alternatives. Pour plus d’informations sur l’utilisation de critères, voir l’article Exemples de critères de requête.

    Conseil : Si vous utilisez un champ de date pour spécifier des critères et si vous souhaitez archiver tous les enregistrements dont la date est postérieure à la date actuelle, entrez <Date() dans la ligne Critères du champ de date.

  6. Effectuez l’une des opérations suivantes :

    • Si vous avez déjà créé la table d’archivage, vous avez besoin d’une requête Ajout pour ajouter les enregistrements spécifiés à la table.

      1. Sous l’onglet Création, dans le groupe Type de requête, cliquez sur Ajout.

      2. Dans la boîte de dialogue Ajout, dans la zone Nom de la table, sélectionnez le nom de la table d’archivage, puis cliquez sur OK.

        Ajouter à

        Dans la grille de création de la requête, la ligne Ajouter à s’affiche.

      3. Effacez le contenu de la ligne Ajouter à pour les champs ayant servi à spécifier des critères. (Seul l’astérisque doit avoir une valeur pour Ajouter à.)

        Ligne Ajouter à de la grille de création de la requête

    • Si vous n’avez pas créé de table d’archivage, vous devez utiliser une requête Création de table afin de créer la table d’archivage à l’aide des enregistrements spécifiés.

      1. Sous l’onglet Créer , dans le groupe Type de requête , cliquez sur Création de table .

      2. Dans la boîte de dialogue Création de table, dans la zone Nom de la table, tapez le nom de la table d’archivage, puis cliquez sur OK.

  7. Appuyez sur Ctrl+S pour enregistrer la requête.

Étape 3 : créer une requête Suppression qui supprime les mêmes données dans votre table d’origine

  1. Dans l'onglet Créer, cliquez sur Création de requête dans le groupe Autre.

  2. Utilisez la boîte de dialogue Afficher la table pour ajouter la table qui contient les enregistrements à archiver. Fermez la boîte de dialogue Afficher la table.

  3. Dans la fenêtre de structure de la requête, double-cliquez sur l’astérisque (*) de la table que vous venez d’ajouter. Le nom de la table et un astérisque s’affichent dans la première colonne de la grille de création de la requête.

  4. Dans la fenêtre de structure de la requête, double-cliquez sur les mêmes champs que ceux que vous avez utilisés pour spécifier une condition dans la requête Ajout.

  5. Utilisez la ligne Critères pour spécifier les critères des champs que vous venez d’ajouter. Pour plus d’informations sur l’utilisation des critères, voir l’article Exemples de critères de requête.

    Important : Si votre requête Ajout ou Création de table a utilisé un paramètre, il doit en être de même pour votre requête Suppression. De plus, vous devez vous assurer que vous entrez la même valeur pour les deux requêtes. Si vous entrez des valeurs de paramètre différentes, vous risquez de perdre des données. Pour éviter toute perte de données, utilisez un formulaire de collecte des valeurs et faites en sorte que les requêtes demandent les valeurs d’entrée au formulaire. Pour plus d’informations, voir l’article Faire en sorte qu’une requête demande une entrée.

  6. Sous l’onglet Création, dans le groupe Type de requête, cliquez sur Suppression.

    La ligne Supprimer s’affiche dans la grille de création de la requête.

    Ligne Supprimer de la grille de création de la requête

  7. Appuyez sur Ctrl+S pour enregistrer la requête.

Étape 4 : créer une macro qui exécute les deux requêtes

  1. Sous l’onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n’est pas disponible, cliquez sur la flèche se trouvant sous le bouton Module ou Module de classe, puis cliquez sur Macro.

  2. Dans la première ligne de la grille de création de la macro, dans la colonne Action, sélectionnez OuvrirRequête.

    Action de macro d’ouverture de requête

  3. Au bas de la grille, sous Arguments de l’action, dans la zone Nom de la requête, sélectionnez dans la liste déroulante la requête (Ajout ou Création de table) que vous avez créée au cours de l’étape 2.

    Argument d’action de macro d’ouverture de requête

  4. Dans la deuxième ligne de la grille de création de la macro, dans la colonne Action, sélectionnez OuvrirRequête.

  5. Au bas de la grille, sous Arguments de l’action, dans la zone Nom de la requête, sélectionnez dans la liste déroulante la requête Suppression.

    Votre macro doit ressembler à ceci :

    Macro prête à être enregistrée

  6. Appuyez sur Ctrl+S pour enregistrer la macro.

    Lorsque vous souhaitez archiver des enregistrements, exécutez la macro.

Haut de la page

Remplacer périodiquement une table

Si vous souhaitez continuellement archiver l’ensemble des données d’une table, vous n’avez pas besoin de recourir aux requêtes ou aux macros. Vous pouvez également remplacer périodiquement la table par une copie vide.

Important : Si la table que vous archivez est liée à d’autres tables, vous devrez peut-être gérer l’intégrité référentielle.

  1. Dans le volet de navigation, sélectionnez la table à archiver, appuyez sur Ctrl+C, puis sur Ctrl+V.

  2. Dans la boîte de dialogue Coller la table sous, sous Options, sélectionnez Structure seulement, puis cliquez sur OK.

    Access nomme la copie de la copie de nom de table d’origine.

  3. Dans le volet de navigation, cliquez avec le bouton droit sur la table d’origine, puis cliquez dans le menu contextuel sur Renommer.

    Donnez à la table un nom qui indique ce qu’elle contient, par exemple « TempératuresExtrêmesQuotidiennes_archive_2007 ».

  4. Dans le volet de navigation, cliquez avec le bouton droit sur la copie vide, puis cliquez dans le menu contextuel sur Renommer.

    Donnez à la copie vide le nom de la table d’origine.

Haut de la page

Remplacer périodiquement toutes les tables

Si vous utilisez une base de données fractionnée, vous pouvez remplacer périodiquement toutes les tables en remplaçant la base de données principale par une copie vide.

Préparez tout d’abord la copie vide. À moins que la structure de votre base de données ne soit modifiée, vous pouvez réutiliser cette copie à chaque archivage. Lorsque vous souhaitez effectuer un archivage, renommez la base de données principale existante pour indiquer qu’il s’agit d’une archive, puis enregistrez la copie vide en tant que nouvelle base de données principale.

Préparer une copie vide d’une base de données principale

Importez les définitions de toutes les tables dans la base de données principale.

  1. Créez une base de données vide. Supprimez Table1.

  2. Sous l’onglet Données externes, dans le groupe Importer, cliquez sur accès.

  3. Dans la boîte de dialogue Données externes, sélectionnez Importer des tables, des requêtes, des formulaires, des états, des macros et des modules dans la base de données active, puis cliquez sur Parcourir.

  4. Dans la boîte de dialogue Ouvrir, sélectionnez la base de données principale. Cliquez sur Ouvrir pour fermer la boîte de dialogue Ouvrir, puis cliquez sur OK.

  5. Dans la boîte de dialogue Importer des objets, cliquez sur Options.

  6. Sous Importer les tables, sélectionnez Définition uniquement.

  7. Sous l’onglet Tables, cliquez sur Sélectionner tout, sur OK, puis sur Fermer.

Ajoutez ensuite des données aux tables de choix dans la copie vide. Pour chaque table de choix, procédez comme suit :

  1. Créez une liaison à la table de choix dans la base de données principale existante.

  2. Créez une requête Ajout qui ajoute tous les enregistrements de la base de données d’origine à la copie.

Remplacer la base de données principale par une copie vide

Renommez tout d’abord la base de données principale existante pour indiquer qu’il s’agit désormais d’une archive.

Ouvrez ensuite la copie vide, puis enregistrez-la en utilisant le nom de la base de données principale d’origine.

  1. Cliquez sur le Bouton Microsoft Office Image du bouton Office et pointez sur Enregistrer sous. Le menu Enregistrer sous s’ouvre.

  2. Sous Enregistrer la base de données sous un autre format, cliquez sur Base de données Access 2007.

Haut de la page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×