Vous pouvez organiser et gérer vos bases de données Microsoft Access en archivant régulièrement des 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, les enregistrements antérieurs à une date spécifique. Cette rubrique explique comment utiliser trois options différentes pour archiver les données dans votre base de données Access.
Contenu de cet article
- Quand devez-vous envisager l’archivage ?
- Remplacer régulièrement une table
- Remplacer régulièrement toutes les tables
- Déplacer régulièrement des enregistrements dans une table d’archivage
Quand devez-vous envisager l’archivage ?
Lorsqu’une base de données sur votre ordinateur contient des données que vous ne prévoyez plus d’utiliser, mais que vous souhaitez les conserver à portée de main au cas où vous en auriez besoin à 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 les 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, une explication du moment où vous devez utiliser chaque méthode et d’autres considérations spécifiques à la méthode.
| Méthode | Description | À utiliser quand... | Autres considérations |
|---|---|---|---|
| Remplacer régulièrement une table | Effectue régulièrement une copie d’archive d’une table particulière et remplace cette table par une nouvelle copie de table vide. | Tous les enregistrements d’une table remplissent les conditions que vous utilisez pour déterminer s’il faut archiver. EXEMPLE : Vous avez une table qui stocke les températures extrêmes quotidiennes. Chaque année, vous archivez le tableau et repartez à zéro avec un tableau vide. |
|
| Remplacer régulièrement 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 base vide. Nécessite une base de données fractionnée (une base de données comprenant : un fichier de base de données principal qui contient toutes les tables et un fichier de base de données frontal qui contient tous les autres objets de base de données). | Tous les enregistrements dans la plupart des tables d’une base de données répondent à la condition que vous utilisez pour déterminer s’il faut archiver. EXEMPLE : Votre base de données se compose de plusieurs tables avec différents types de données météorologiques. Chaque année, vous archivez toutes les tables. |
|
| Déplacer régulièrement des enregistrements dans une table d’archivage | Exécute régulièrement une requête afin de sélectionner 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 respectent la condition que vous utilisez pour déterminer s’il faut archiver. EXEMPLE : vous souhaitez archiver les transactions de bibliothèque (case activée) si la date d’archivage est antérieure d’au moins un an. |
Avertissement : Si vous avez besoin d’utiliser des paramètres dans vos requêtes, vous devez créer un formulaire pour gérer ces paramètres. Sinon, vous risquez de perdre des données. |
Contourner l’intégrité référentielle
Si les enregistrements que vous voulez archiver sont liés à des enregistrements dans d’autres tables, vous devrez peut-être contourner la relation. Si les enregistrements que vous souhaitez archiver sont des enregistrements « enfants » (ils appartiennent au côté « plusieurs » d’une relation un-à-plusieurs), vous pouvez probablement les archiver en toute sécurité et sans souci. Si les enregistrements que vous souhaitez archiver sont des enregistrements « parents » (ils appartiennent au côté « un » d’une relation un-à-plusieurs), lorsque vous les archivez, leurs enregistrements « enfants » associé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 -
- Deviennent « orphelins » – des documents qui appartiennent à un « parent » qui n’existe pas. Cela peut entraîner des problèmes liés à l’intégrité des données et aux fonctionnalités de votre base de données qui utilise les enregistrements « orphelins ».
Pour tenir compte de l’intégrité référentielle, procédez comme suit :
Déterminez quels enregistrements « enfants » appartiennent aux enregistrements que vous souhaitez archiver. Par exemple, pour archiver les enregistrements de biens prêtés dans une bibliothèque, déterminez d’abord s’il y a des transactions ouvertes sur ces biens, c’est-à-dire si les biens ont été empruntés mais pas retournés.
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é référentielle, avec des suppressions en cascade. Cela garantit que tous les enregistrements « enfants » associé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éez une requête qui sélectionne les enregistrements « parents » qui n’ont pas d’enregistrements « enfants ». Ensuite, utilisez cette première requête pour créer vos requêtes d’archive (voir la section Déplacer périodiquement des enregistrements dans une table d’archivage), au lieu d’utiliser la table « parent ».
Haut de la page
Remplacer régulièrement une table
Si vous souhaitez archiver toutes les données d’une table, vous pouvez remplacer régulièrement la table par une copie vide.
Important
Si la table que vous archivez est liée à d’autres tables, vous devrez peut-être contourner l’intégrité référentielle.
Dans le volet de navigation, sélectionnez les tables que vous voulez archiver, appuyez sur Ctrl+C, puis sur Ctrl+V.
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 en tant que copie du nom de la table d’origine.
Dans le volet de navigation, cliquez avec le bouton droit sur la table d’origine, puis cliquez sur Renommer dans le menu contextuel.
Donnez à la table un autre nom pour indiquer ce qu’elle contient, par exemple « DailyTemperatureExtremes_archive_2019 ».
Dans le volet de navigation, cliquez avec le bouton droit sur la copie vide, puis cliquez sur Renommer dans le menu contextuel. Renommez-la avec le nom de la table d’origine.
Haut de la page
Remplacer régulièrement toutes les tables
Si vous utilisez une base de données fractionnée, vous pouvez remplacer régulièrement toutes les tables en remplaçant la base de données principale par une copie vide.
Pour ce faire, préparez d’abord la copie vide. À moins que la conception de votre base de données ne change, vous pouvez réutiliser cette copie vide chaque fois que vous archivez. Pour archiver, renommez simplement 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 toutes les tables de la base de données principale.
- Sous l’onglet Fichier , cliquez sur Nouveau, sélectionnez Base de données vide, puis cliquez sur Créer.
- Fermer table1.
- Sous l’onglet Données externes , dans le groupe Importer & lien , cliquez sur Access.
- 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.
- Dans la boîte de dialogue Ouvrir le fichier , sélectionnez la base de données principale. Cliquez sur Ouvrir pour fermer la boîte de dialogue Ouvrir du fichier , puis cliquez sur OK.
- Dans la boîte de dialogue Importer des objets , cliquez sur Options.
- Sous Importer des tables, sélectionnez Définition uniquement.
- 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, procédez comme suit :
- Lier à la table de recherche dans la base de données principale existante.
- Créez une requête Ajout qui ajoute 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’elle est désormais une archive. Ouvrez ensuite la copie vide et enregistrez-la en utilisant le nom de la base de données principale d’origine.
- 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.
- Dans la zone Enregistrer dans (située en haut de la boîte de dialogue Enregistrer sous ), assurez-vous que vous enregistrez le fichier au même emplacement que la base de données principale d’origine.
- Dans la zone Nom de fichier, entrez le nom de la base de données principale d’origine.
- 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
Il s’agit d’un processus en quatre étapes qui nécessite de faire une copie vide de la table contenant les enregistrements à archiver, de créer une requête Ajout pour copier les enregistrements de la table d’origine dans la table d’archivage, de créer une requête de suppression pour supprimer les enregistrements archivés de la table d’origine et enfin de créer une macro pour exécuter les deux requêtes qui peuvent être exécutées lorsque vous souhaitez archiver. Ce processus apparemment complexe peut être facile si vous suivez les étapes dans l’ordre dans lequel elles sont présentées 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 des requêtes Ajouter et Supprimer
Étape 1 : Créer une table d’archivage
Pour conserver tous vos enregistrements archivés dans une seule table, n’effectuez cette étape qu’une seule fois. La table d’archive que vous créez à cette étape contiendra tous vos enregistrements archivés.
Pour supprimer votre ancienne table d’archives lorsque vous en créez une nouvelle, au lieu d’effectuer cette étape, vous pouvez utiliser une 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’archives chaque fois que vous archivez, mais aussi pour conserver vos anciennes tables d’archives, renommez l’ancienne table d’archive avant d’en créer une nouvelle. Si vous archivez sur la base d’une date, envisagez de nommer vos anciennes tables d’archives en fonction de la plage de dates qu’elles représentent.
- Dans le volet de navigation, sélectionnez la table contenant les enregistrements à archiver, appuyez sur Ctrl+C, puis sur Ctrl+V.
- Dans la zone Nom du tableau , supprimez les mots Copier de , ajoutez un trait de soulignement et le mot « archive » au nom de tableau existant, puis cliquez sur OK. Par exemple, si la table d’origine s’appelle Transactions , la table d’archive est nommée Transactions_archive.
- 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’archivage
Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
Ajoutez la table contenant les enregistrements que vous voulez archiver.
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 de la table et un astérisque s’affichent dans la première colonne de la grille de création des requêtes.
Remarque
L’astérisque indique que la requête doit inclure tous les champs de la table dans la sortie 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.
Dans la fenêtre de création, double-cliquez sur le champ à utiliser pour spécifier une condition que les enregistrements doivent remplir avant de les archiver. Par exemple, si votre table Transactions comporte un champ intitulé Date d’archivage et que vous souhaitez archiver tous les enregistrements datant de plus d’un an, double-cliquez sur le champ pour que ce champ apparaisse dans la colonne vide suivante de la grille de création de requête.
Répétez cette étape si vous souhaitez utiliser des critères avec des champs supplémentaires.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 d’archivage doit être antérieure au 1er janvier 2019 à l’aide de l’expression <#01/01/2019# dans la ligne Critères .
Si les valeurs de vos critères changent à chaque archivage, vous devez faire en sorte que votre requête demande une saisie. Pour ce faire, vous utilisez 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 feriez normalement, mais au lieu d’une valeur spécifiée, utilisez une brève question entourée de crochets. Par exemple, vous pouvez utiliser l’expression <[Transactions d’Archive effectuées avant :], comme suit :
Pour plus d’informations sur l’utilisation des paramètres, consultez 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 souhaitez archiver tous les enregistrements antérieurs à la date du jour, entrez <Date() dans la ligne Critères du champ de date.
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 :- Sous l’onglet Créer, dans le groupe Type de requête, cliquez sur Ajout.
- Dans la boîte de dialogue Ajouter , dans la zone Nom de la table, sélectionnez le nom de la table d’archivage, puis cliquez sur OK.
Dans la grille de création de requête, la ligne Ajouter à s’affiche. - Désactivez la ligne Ajouter à de tous les champs que vous avez utilisés pour spécifier des critères. (Seul l’astérisque doit avoir une valeur pour Ajouter à.)
Si vous n’avez pas créé la table d’archivage, utilisez une requête Création de table pour créer la table d’archive à l’aide des enregistrements spécifiés : - Sous l’onglet Créer, accédez au groupe Type de requête et cliquez sur Création de table.
- Dans la boîte de dialogue Créer une table , dans la zone Nom de la table , tapez le nom de la table d’archivage, puis cliquez sur OK.
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
Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
Ajoutez la table contenant les enregistrements que vous voulez archiver.
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 de la table et un astérisque s’affichent dans la première colonne de la grille de création des requêtes.
Dans la fenêtre de création de 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 d’ajout.
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, consultez l’article Exemples de critères de requête.
Important
Si la requête d’ajout ou de création de table a utilisé un paramètre, assurez-vous que votre requête de suppression en fait de même. N’oubliez pas non plus 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 les valeurs d’entrée au formulaire. Pour plus d’informations, consultez l’article Présentation des requêtes.
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 des requêtes.
Appuyez sur Ctrl+S pour enregistrer la requête.
Étape 4 : Créer une macro pour exécuter des requêtes Ajouter et Supprimer
- Sous l’onglet Créer, accédez au groupe Macros et code, puis cliquez sur Macro.
- Cliquez sur la flèche déroulante à côté de Ajouter une nouvelle action, puis cliquez sur OuvrirQuery.
L’action OpenQuery s’affiche et affiche ses arguments. - Dans la zone Nom de la requête , sélectionnez la requête (ajouter ou créer une table) que vous avez créée à l’étape 2.
- Cliquez sur la flèche déroulante à côté de Ajouter une nouvelle action, puis cliquez sur OuvrirQuery.
L’action OpenQuery s’affiche et affiche ses arguments. - Dans la zone Nom de la requête , sélectionnez la requête Supprimer que vous avez créée à l’étape 3.
- Appuyez sur Ctrl+S pour enregistrer la macro.
Lorsque vous souhaitez archiver des enregistrements, exécutez la macro.
Haut de la page