Archiver des données Access

Vous pouvez conserver vos bases de données Microsoft Access organisées et gérables en archissant régulièrement les enregistrements anciens ou inactifs. Vous pouvez archiver toutes les tables d’une base de données, des tables spécifiques ou seulement des enregistrements spécifiques (par exemple, des enregistrements plus anciens qu’une date particulière). Cette rubrique explique comment utiliser trois options pour archiver les données dans votre base de données Access.

Contenu de cet article

Quand devez-vous envisager l’archivage ?

Lorsqu’une base de données sur votre ordinateur contient des données que vous ne prévoyez pas d’utiliser, mais que vous souhaitez conserver ces données à portée de main au cas où vous en a se se servez à un moment donné ou pour respecter une stratégie de rétention des données, l’archivage constitue un bon moyen de conserver ces données. L’archivage est également souvent utilisé pour conserver des données en fonction d’une condition de date (par exemple, à la fin d’un mois).

Méthodes d’archivage des données

Le tableau suivant répertorie les méthodes d’archivage des données, une description de la méthode, l’explication du moment où utiliser chaque méthode et d’autres considérations spécifiques pour cette méthode.

Méthodes

Description

À utiliser quand...

Autres considérations

Remplacer régulièrement un tableau

Effectue régulièrement une copie d’archive d’une table particulière et la remplace par une nouvelle copie de tableau vide.

Tous les enregistrements d’une table répondent aux conditions que vous utilisez pour déterminer s’ils sont archivés.

EXEMPLE : Votre table stocke les températures extrêmes quotidiennes. Chaque année, vous archivez la table et démarrez à nouveau avec une table vide.

  • Vous de pouvez devoir contourner l’intégrité referentielle. Pour plus d’informations, voir la section Sur l’intégrité referentielle.

Remplacer régulièrement tous les tableaux

Faites 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 base de données vide. Il est nécessaire de fractionner une base de données (une base de données comprenant : un fichier de base de données principale contenant toutes les tables et un fichier de base de données frontal contenant 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’ils sont archivés.

EXEMPLE : votre base de données est constituée de plusieurs tables avec différents types de données d’entreprise. Chaque année, vous archivez toutes les tables.

  • Si vous avez des tables de recherche (tables que vous utilisez pour stocker des valeurs pour la recherche, par exemple des codes postaux ou des services), vous devrez peut-être 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 de macro pour cette méthode.

Déplacer régulièrement des enregistrements dans une table d’archivage

Exécute régulièrement une requête qui sélectionne les enregistrements à archiver, ajoute les données à une table d’archivage, puis vous exécutez une requête pour sélectionner et supprimer les mêmes enregistrements (dans la table d’origine).

Certains enregistrements d’une table répondent à la condition que vous utilisez pour déterminer s’ils sont archivés.

EXEMPLE : Vous voulez archiver les transactions de bibliothèque (extraits) si la date d’archivage est d’au moins un an.

  • Peut être à contourner intégrité référentielle, en particulier si les enregistrements que vous voulez archiver se trouver du côté un d’une relation un-à-plusieurs. Pour plus d’informations, voir la section Sur l’intégrité referentielle.

Avertissement : Si vous avez besoin d’utiliser des paramètres dans vos requêtes, vous devez créer un formulaire pour les gérer. Sinon, vous risquez de perdre des données.

Contourner l’intégrité referentielle

Si les enregistrements que vous voulez archiver sont liés à des enregistrements d’autres tables, vous deront peut-être contourner la relation. Si les enregistrements que vous voulez archiver sont des enregistrements « enfants » (ils appartiennent au côté « plusieurs » d’un relation un-à-plusieurs ), vous pouvez probablement 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, leurs enregistrements « enfants » peuvent :

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

    -ou-

  • Deviennent des « orphelins » : enregistrements qui appartiennent à un « parent » qui n’existe pas. Cela peut entraîner des problèmes d’intégrité et de fonctionnalité des données dans votre base de données qui utilisent des enregistrements « orphelins ».

Pour tenir compte de l’intégrité referentielle, prenez les mesures suivantes :

  1. Déterminez quels enregistrements « enfants » appartiennent aux enregistrements que vous voulez archiver. Par exemple, pour archiver les enregistrements des biens dus dans une bibliothèque, vous devez tout d’abord déterminer s’il existe des transactions ouvertes sur ces biens, c’est-à-dire, si les biens ont été extraits mais non retournés.

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

    • Si les enregistrements « enfants » peuvent toujours être supprimés en toute sécurité, assurez-vous que la relation applique l’intégrité referentielle, avec les suppressions en cascade. Cela garantit la suppression de tous les enregistrements « enfants » associé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éez une requête qui sélectionne les enregistrements « parent » qui n’ont pas d’enregistrements « enfants ». Utilisez ensuite cette première requête pour créer vos requêtes d’archivage (voir la section Déplacer régulièrement des enregistrements dans une table d’archivage),au lieu d’utiliser la table « parent ».

Haut de la page

Remplacer régulièrement un tableau

Si vous voulez archiver toutes les données d’un tableau, vous pouvez régulièrement remplacer le tableau par une copie vide.

Important : Si la table que vous archivez est associée à d’autres tables, vous devrez peut-être contourner l’intégrité referentielle.

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

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

    Access nomme la copie en tant que 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 raccourci.

    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 raccourci. Renommons-la en lui renommant le nom de la table d’origine.

Haut de la page

Remplacer régulièrement tous les tableaux

Si vous utilisez une base de données fractionée, vous pouvez régulièrement remplacer toutes les tables en remplaçant la base de données principale par une copie vide.

Pour ce faire, préparez tout d’abord la copie vide. Sauf si la conception de votre base de données change, vous pouvez réutiliser cette copie vide chaque fois que vous l’archivez. Pour archiver il suffit de renommer la base de données principale existante pour indiquer qu’il s’agit d’une archive, et d’enregistrer 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 pour toutes les tables de la base de données principale.

  1. Sous l’onglet Fichier, cliquez sur Nouveau,sélectionnez Base de données vide,puis cliquez sur Créer.

  2. Fermer Table1.

  3. Sous l’onglet Données externes, dans le groupe Importer & liaison, 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 actuelle, puis cliquez sur Parcourir.

  5. Dans la boîte de dialogue Ouvrir un fichier, sélectionnez la base de données principale. Cliquez sur Ouvrir pour fermer la boîte de dialogue Ouvrir un fichier, puis 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 Tableaux, cliquez sur Sélectionner tout,sur OK,puis sur Fermer.

Ajouter des données à des tables de recherche dans la copie vide 

Pour chaque table de recherche, vous pouvez suivre les étapes suivantes :

  1. Lier à la table de recherche dans la base de données principale existante.

  2. Créez une requête Ajouter qui ajoute tous les enregistrements du tableau d’origine à 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ésormais d’une archive. Ensuite, ouvrez 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 c’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), assurez-vous d’enregistrer le fichier au même endroit 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).

Haut de la page

Déplacer régulièrement des enregistrements dans une table d’archivage

Ce processus en quatre étapes nécessite de créer une copie vide de la table contenant les enregistrements que vous voulez archiver, de créer une requête Contenu pour copier les enregistrements de la table d’origine vers la table d’archivage, de créer une requête Suppression pour supprimer les enregistrements archivés de la table d’origine, puis de créer une macro pour exécuter les deux requêtes qui peuvent être exécutés lorsque vous voulez les archiver. 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’archivage

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

Étape 3 : créer une requête Suppression pour supprimer des données de la table d’origine

Étape 4 : créer une macro pour exécuter les requêtes AddEnd et Delete

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

Pour conserver tous vos enregistrements archivés dans une table, faites cette étape une seule fois. La table d’archivage que vous créez à cette étape conservera tous vos enregistrements archivés.

Pour supprimer votre ancienne table d’archive lorsque vous en créez une, au lieu d’avoir cette étape, vous pouvez utiliser une requête Création de table pour copier les données dans votre table d’archivage. Pour ce faire, passez à l’étape 2.

Pour utiliser une nouvelle table d’archivage chaque fois que vous archivez, mais également conserver vos anciennes tables d’archivage, renommez l’ancienne table d’archivage avant d’en créer une autre. Si vous archivez sur la base d’une date, vous pouvez nommer vos anciennes tables d’archivage en fonction de la plage de dates qu’elles représentent.

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

  2. Dans la zone Nom du tableau, supprimez les mots Copier de et ajoutez un trait de soulignement et le mot « archive » au nom de la 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

  3. Dans la boîte de dialogue Coller la table sous Options decoller, sélectionnez Structure uniquement.

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

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

  2. Ajoutez la table avec les enregistrements que vous voulez archiver.

  3. Dans la fenêtre de création de requête, double-cliquez sur l’astérisque (*) dans la table que vous vient d’ajouter. Le nom de la table 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 le résultat de la requête. Lorsque vous utilisez l’astérisque, si des champs sont ajoutés ou supprimés de la table, la sortie de la requête s’ajuste en conséquence.

  4. Dans la fenêtre de création de requête, double-cliquez sur le champ à utiliser pour spécifier une condition que les enregistrements doivent respecter avant de les archiver. Par exemple, si votre table Transactions possède un champ intitulé Dated’archivage et que vous voulez archiver tous les enregistrements dont la date date est plus ancienne, double-cliquez sur le champ pour qu’il s’affiche dans la colonne vide suivante de la grille de création de 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 des critères pour les champs que vous vient d’ajouter. Par exemple, vous pouvez spécifier que la date d’échéance doit être antérieure au 1er janvier 2019 à l’aide de l’expression <#1/1/2019# dans la ligne Critères.

    Si les valeurs de vos critères changent à chaque fois que vous archivez, vous devez demander l’entrée de votre requête. Pour ce faire, vous devez utiliser un paramètre dans la ligne Critères afin que la requête demande une entrée. Pour utiliser un paramètre, utilisez une expression comme vous le faites habituellement, mais au lieu d’une valeur spécifiée, utilisez une brève question entre crochets. Par exemple, vous pouvez utiliser l’expression <[Transactions d’archivage terminéesavant :] , comme c’est le cas :

    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 ou les lignes 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 si vous voulez archiver tous les enregistrements anciens de 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, utilisez une requête Ajout pour ajouter les enregistrements spécifiés à cette table :

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

    2. Dans la boîte de dialogueEnd, 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 Outre à apparaît.

    3. Effacer la ligneEnd To pour tous les champs que vous avez utilisés pour spécifier des critères. (Seul l’astérisque doit avoir une valeur Pour L’application à.)

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

      Si vous n’avez pas créé la table d’archive, utilisez une requête Création de table pour créer la table d’archivage à l’aide des 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 Table, dans la zone Nom du tableau, 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 pour supprimer des 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. Ajoutez la table avec les enregistrements que vous voulez archiver.

  3. Dans la fenêtre de création de requête, double-cliquez sur l’astérisque (*) dans la table que vous vient d’ajouter. Le nom de la table 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 AddEnd.

  5. Utilisez la ligne Critères pour spécifier des critères pour les champs que vous vient 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 Addend ou Make-table utilise un paramètre, assurez-vous que votre requête Suppression le fait également. Souvenez-vous également 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, envisagez d’utiliser un formulaire pour collecter les valeurs et de faire en sorte que les requêtes demandent au formulaire les valeurs d’entrée. Pour plus d’informations, voir l’article Présentation des requêtes.

  6. Sous 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 les requêtes AddEnd et Delete

  1. Sous l’onglet Créer, accédez au groupe Macros et code, puis cliquez sur Macro.

  2. Cliquez sur la flèche vers le bas en forme de flèche en forme de bouton Ajouter une nouvelle action,puis cliquez sur OpenQuery.

    L’action OpenQuery 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 vers le bas en forme de flèche en forme de bouton Ajouter une nouvelle action,puis cliquez sur OpenQuery.

    L’action OpenQuery 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.

Haut de la page

Besoin d’aide ?

Développez vos compétences dans Office
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 ?

×