Archiver les Données

Archiver des données Access

Vous pouvez organiser et gérer les bases de données Microsoft Access en archivant périodiquement les enregistrements anciens ou inactifs. Vous pouvez archiver toutes les tables d’une base de données, des tables spécifiques ou des enregistrements spécifiques, par exemple, des enregistrements dont la date est antérieure à une date particulière. Cette rubrique explique comment utiliser trois options différentes pour archiver les données dans votre base de données Access.

Quand devez-vous envisager l’archivage ?

Si une base de données sur votre ordinateur contient des données que vous n’avez pas l’habitude d’utiliser, mais que vous souhaitez conserver ces données à un moment ou à une stratégie de rétention des données, l’archivage est un bon moyen de conserver ces données. L’archivage est souvent utilisé pour conserver les données sur la base d’une condition de date, par exemple à la fin du mois.

Modes d’archivage des données

Le tableau suivant répertorie les méthodes permettant d’archiver des données, une description de la méthode, l’explication de l’utilisation de chaque méthode et d’autres considérations spécifiques à la méthode.

Méthodes Description À utiliser quand… Autres considérations
Remplacer périodiquement un tableau Effectue périodiquement une copie d’archive d’une table particulière et remplace celle-ci par une nouvelle copie de la table vide. Tous les enregistrements d’une table remplissent les conditions que vous utilisez pour déterminer s’il convient d’archiver.

PAR exemple : vous disposez d’une table qui stocke les températures quotidiennes extrêmes. Chaque année, vous archivez le tableau et vous commencez par un nouveau.

  • Il est possible que vous deviez contourner l’intégrité référentielle. Pour plus d’informations, reportez-vous à la rubrique utilisation de l’ intégrité référentielle .
Remplacer périodiquement toutes les tables Effectuez régulièrement une copie d’archive de la base de données principale, puis remplacez la base de données principale par une nouvelle, vide. Il est nécessaire de disposer d’une base de données fractionnée (base de données composée d’un fichier de base de données principal contenant toutes les tables ; et d’un fichier de base de données frontale qui contient tous les autres objets de base de données). Tous les enregistrements de la plupart des tables d’une base de données répondent à la condition que vous utilisez pour déterminer s’il convient d’archiver.

PAR exemple : votre base de données se compose de plusieurs tables avec différentes sortes de données météorologiques. Chaque année, vous archivez toutes les tables.

  • Si vous avez des tables de choix (tables que vous utilisez pour stocker des valeurs pour la recherche, tels que des codes postaux ou services), vous devrez éventuellement importer ces données dans la nouvelle base de données principale.
  • Vous devez archiver la base de données manuellement. Vous ne pouvez pas utiliser une macro pour cette méthode.
Déplacer périodiquement des enregistrements dans une table d’archive Exécute régulièrement une requête qui sélectionne les enregistrements à archiver, ajoute les données à une table d’archivage, puis exécute une requête pour sélectionner les mêmes enregistrements (dans la table d’origine) et les supprimer. Certains enregistrements d’une table répondent à la condition que vous utilisez pour déterminer s’il convient d’archiver.

PAR exemple : vous voulez archiver les transactions de la bibliothèque (extraire) si la date de vérification est d’au moins un an.

  • Il est possible que vous deviez contourner intégrité référentielle, en particulier si les enregistrements que vous voulez archiver se trouvent sur le côté gauche d’une relation un-à-plusieurs. Pour plus d’informations, reportez-vous à la rubrique utilisation de l’ intégrité référentielle .

Avertissement : Si vous avez besoin d’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 perdre des données.

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

Si les enregistrements que vous voulez archiver sont liés à des enregistrements dans d’autres tables, il est possible que vous deviez contourner la relation. Si les enregistrements que vous voulez archiver sont des enregistrements « enfants » (ils appartiennent au côté « plusieurs » d’une relation un-à-plusieurs ), vous pouvez les archiver en toute sécurité sans souci. Si les enregistrements que vous voulez archiver sont des enregistrements « parents » (ils appartiennent au côté « un » d’une relation un-à-plusieurs ), lorsque vous les archivez, leur enregistrement « enfant » est susceptible de :

  • 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’archive.-ou-
  • Deviennent des « orphelins » : les enregistrements qui appartiennent à un « parent » qui n’existe pas. Cela peut entraîner des problèmes d’intégrité des données et de fonctionnalités dans votre base de données qui utilisent les enregistrements « orphelins ».

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

  1. Déterminez les enregistrements « enfants » qui appartiennent aux enregistrements que vous voulez archiver. Par exemple, pour archiver les enregistrements de ressources prêté dans une bibliothèque, déterminez d’abord si des transactions sont ouvertes sur celles-ci, c’est-à-dire si les ressources ont été extraites mais pas renvoyées.
  2. Effectuez l’une des opérations suivantes :
    • Si les enregistrements « enfants » peuvent toujours être supprimés de manière sécurisée, assurez-vous que la relation applique l’intégrité référentielle grâce aux suppressions en cascade. Cela permet de s’assurer que tous les enregistrements « enfants » liés seront supprimés.
    • Si les enregistrements « enfants » ne peuvent pas toujours être supprimés en toute sécurité, envisagez d’archiver toutes les tables de la base de données.
    • Créer une requête qui sélectionne les enregistrements “parent” sans enregistrements “enfants”; Utilisez ensuite cette première requête pour créer vos requêtes d’archive (voir la section plus loin déplacer périodiquement des enregistrements dans une table d’archive) au lieu d’utiliser la table « parent ».

Remplacer périodiquement un tableau

Si vous souhaitez archiver toutes les données d’une table, vous pouvez remplacer le tableau périodiquement par une copie vide.

Important : Si la table que vous archivez est liée à d’autres tables, il est possible que vous deviez contourner l’ intégrité référentielle.

  1. Dans le volet de navigation, sélectionnez les tables que vous souhaitez archiver, appuyez sur CTRL + C, puis appuyez sur CTRL + V.
  2. Dans la boîte de dialogue coller la table sous , sous options de collage, sélectionnez structure uniquement, puis cliquez sur OK.Access nomme la copie sous forme de copie du nom de la table d’origine.
  3. Dans le volet de navigation, cliquez avec le bouton droit sur la table d’origine, puis cliquez sur Renommer dans le menu contextuel.Donnez un autre nom à la table pour indiquer ce qu’elle contient, par exemple « DailyTemperatureExtremes_archive_2019 ».
  4. Dans le volet de navigation, cliquez avec le bouton droit sur la copie vide, puis cliquez sur Renommer dans le menu contextuel. Renommez-le à l’aide du nom de la table d’origine.

Remplacer périodiquement toutes les tables

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

Pour ce faire, commencez par préparer la copie vide. Si la conception de votre base de données ne change pas, vous pouvez réutiliser cette copie vide chaque fois que vous archivez. Pour archiver le fichier, renommez la base de données principale existante pour indiquer qu’il s’agit d’une archive et 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

Tout d’abord, importez les définitions de table de toutes les tables de la base de données principale.

  1. Dans l’onglet fichier , cliquez sur nouveau, sélectionnez base de données vide, puis cliquez sur créer.
  2. Fermez table1.
  3. Sous l’onglet données externes , dans le groupe Importer & lier , cliquez sur Access.
  4. Dans la boîte de dialogue données externes-base de données Access , 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.
  5. 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 d’ ouverture de fichier , puis cliquez sur OK.
  6. Dans la boîte de dialogue importer des objets , cliquez sur options.
  7. Sous importer des tables, sélectionnez définition uniquement.
  8. Sous l’onglet tables , cliquez sur Sélectionner tout, cliquez sur OK, puis sur Fermer.

Ajouter des données à une table de choix dans la copie vide

Pour chaque table de choix, procédez comme suit :

  1. Lien vers la table de choix dans la base de données principale existante.
  2. Créez une requête Ajout pour ajouter tous les enregistrements de l’original à la copie.

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

Tout d’abord, renommez la base de données principale existante pour indiquer qu’il s’agit d’une archive. Ouvrez ensuite la copie vide et enregistrez-la en utilisant le nom de la base de données principale d’origine.

  1. Cliquez sur l’onglet fichier , puis sur enregistrer la base de données sous. Vous pouvez être invité à fermer tous les objets ouverts. Si tel est le cas, cliquez sur OK. La boîte de dialogue Enregistrer sous s’ouvre.
  2. Dans la zone enregistrer dans (en haut de la boîte de dialogue Enregistrer sous ), veillez à enregistrer le fichier au même emplacement que la base de données principale d’origine.
  3. Dans la zone nom de fichier , entrez le nom de la base de données principale d’origine.
  4. Dans la zone type de fichier , sélectionnez base de données Access (*. accdb).

Déplacer périodiquement des enregistrements dans une table d’archive

Il s’agit d’un processus en quatre étapes qui nécessite la création d’une copie vide de la table contenant les enregistrements que vous voulez archiver en créant une requête Ajout pour copier les enregistrements de la table d’origine vers la table d’archive, en créant une requête Suppression pour supprimer les enregistrements archivés du ori table Gina, et enfin créer une macro pour exécuter les deux requêtes qui peuvent être exécutées lorsque vous souhaitez effectuer un archivage. Ce processus apparemment complexe peut être facile si vous suivez les étapes dans l’ordre dans lequel ils sont présentés ci-dessous :

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

Pour conserver tous vos enregistrements archivés dans une table, procédez comme suit. La table d’archive que vous créez au cours de cette étape contient tous vos enregistrements archivés.

Pour supprimer votre ancienne table d’archive lors de la création d’une nouvelle table, au lieu d’effectuer cette étape, vous pouvez utiliser un requête Création de table pour copier les données dans votre table d’archivage. Pour cela, passez à l’ étape 2.

Pour utiliser une nouvelle table d’archive chaque fois que vous archivez de nouveau, mais si vous souhaitez conserver votre ancienne table d’archive, renommez l’ancienne table d’archive avant d’en créer une nouvelle. Si vous effectuez un archivage en fonction d’une date, envisagez de nommer vos anciens tableaux d’archive en fonction de la plage de dates qu’ils représentent.

  1. Dans le volet de navigation, sélectionnez la table qui contient les enregistrements à archiver, appuyez sur CTRL + C, puis appuyez sur CTRL + V.
  2. Dans la zone nom de la table , supprimez les mots copie de et ajoutez un trait de soulignement et le mot « Archive » dans le nom de la table existante, puis cliquez sur OK. Par exemple, si la table d’origine est nommée transactions , la table d’archive porte le nom Transactions_archive.Coller la table sous
  3. Dans la boîte de dialogue coller la table sous , sous options de collage, sélectionnez structure uniquement.

Étape 2 : créer une requête Ajout pour copier des données dans la table d’archive

  1. Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
  2. Utilisez la boîte de dialogue afficher la table pour ajouter le tableau aux enregistrements que vous souhaitez archiver, puis fermez la boîte de dialogue afficher la table .
  3. Dans la fenêtre de création de requête, double-cliquez sur l’astérisque (*) dans la table que vous venez d’ajouter. Le nom du tableau et un astérisque apparaissent dans la première colonne de la grille de création de requête.

    Remarque : L’astérisque indique que la requête doit inclure tous les champs de la table dans les résultats de la requête. Lorsque vous utilisez l’astérisque, en cas d’ajout ou de suppression de champs de la table, le résultat de la requête est ajusté en conséquence.

  4. Dans la fenêtre de création de requête, double-cliquez sur le champ que vous voulez utiliser pour spécifier une condition que les enregistrements doivent remplir avant de les archiver. Par exemple, si le champ archivé dansvotre table transactions est associé à une date et que vous voulez archiver tous les enregistrements dans lesquels cette date est supérieure à un an, vous double-cliquez sur le champ et il apparaît dans la colonne vide suivante de la grille de création de requête.Grille de création de la requêteRépétez cette étape si vous voulez utiliser des critères avec des champs supplémentaires.
  5. Utilisez la ligne critères pour spécifier des critères pour les champs que vous venez d’ajouter. Par exemple, vous pouvez spécifier que la date d’archivage doit être antérieure au 1er janvier 2019 à l’aide de l’expression < # 1/1/2019 # dans la ligne critères .Si vos valeurs de critères changent chaque fois que vous archivez, vous devez faire en sorte que votre requête demande la saisie de données. Pour ce faire, vous devez utiliser un paramètre dans la ligne critères de sorte que la requête demande la saisie de données. Pour utiliser un paramètre, utilisez une expression comme vous le feriez normalement, mais au lieu d’une valeur spécifiée, utilisez une courte question entourée de crochets. Par exemple, vous pouvez utiliser l’expression < [archiver les transactions achevées avant :], comme suit :Expression de paramètre

    Pour plus d’informations sur l’utilisation des paramètres, voir l’article Présentation des requêtes.

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

    Conseil : Si vous utilisez un champ de date pour spécifier des critères et que vous voulez archiver tous les enregistrements antérieurs à la date du jour, entrez <Date () dans la ligne critères pour le champ date.

  6. Effectuez l’une des opérations suivantes :Si vous avez déjà créé la table d’archive, utilisez une requête Ajout pour ajouter les enregistrements spécifiés à la table suivante :
    1. Sous l’onglet Créer, 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 requête, la ligne Ajouter à s’affiche.
    3. Effacez la ligne Ajouter à pour les champs que vous avez utilisés pour spécifier des critères. (Seul l’astérisque doit avoir une valeur pour Append.)Ligne Ajouter à de la grille de création de la requêteSi vous n’avez pas créé la table d’archive, utilisez une requête Création de table pour créer la table d’archive en utilisant les enregistrements spécifiés :
    4. Sous l’onglet Créer, accédez au groupe Type de requête et cliquez sur Création de table.
    5. Dans la boîte de dialogue création de table , dans la zone nom de la table , entrez 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 pour supprimer les données de la table d’origine

  1. Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
  2. Utilisez la boîte de dialogue afficher la table pour ajouter le tableau contenant les enregistrements que vous voulez archiver. Fermez la boîte de dialogue Afficher la table.
  3. Dans la fenêtre de création de requête, double-cliquez sur l’astérisque (*) dans la table que vous venez d’ajouter. Le nom du tableau et un astérisque apparaissent dans la première colonne de la grille de création de requête.
  4. Dans la fenêtre de création de requête, double-cliquez sur les champs que vous avez utilisés pour spécifier une condition dans la requête Ajout.
  5. Utilisez la ligne critères pour spécifier des critères pour les champs que vous venez d’ajouter. Pour plus d’informations sur l’utilisation des critères, consultez l’article Exemples de critères de requête.

    Important : Si la requête Ajout ou création de table utilisait un paramètre, assurez-vous également que votre requête suppression s’en charge. Rappelez-vous également que vous entrez la même valeur pour les deux requêtes. Si vous entrez des valeurs de paramètres différentes, vous risquez de perdre des données. Pour éviter les pertes de données, envisagez d’utiliser un formulaire pour collecter les valeurs et de faire en sorte que les requêtes demandent au formulaire d’entrer les valeurs d’entrée. Pour plus d’informations, voir l’article Présentation des requêtes.

  6. Dans l’onglet création , dans le groupe type de requête , cliquez sur supprimer.La ligne supprimer apparaît dans la grille de création de 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 pour exécuter des requêtes Ajout et suppression

  1. Sous l’onglet Créer, accédez au groupe Macros et code, puis cliquez sur Macro.
  2. Cliquez sur la flèche déroulante en regard de Ajouter une nouvelle action, puis cliquez sur OuvrirRequête.L’action OuvrirRequête apparaît et affiche ses arguments.
  3. Dans la zone nom de la requête , sélectionnez la requête (ajout ou création de table) que vous avez créée à l’ étape 2.
  4. Cliquez sur la flèche déroulante en regard de Ajouter une nouvelle action, puis cliquez sur OuvrirRequête.L’action OuvrirRequête apparaît et affiche ses arguments.
  5. Dans la zone nom de la requête , sélectionnez la requête Suppression que vous avez créée à l’ étape 3.
  6. Appuyez sur CTRL + S pour enregistrer la macro.Lorsque vous voulez archiver des enregistrements, exécutez la macro.