Au fil du temps, certaines des informations stockées dans une base de données peuvent devenir obsolètes. Par exemple, le tableau Produits répertorie tous les produits que l’entreprise propose actuellement à la vente ou les a vendus dans le passé. Vous pouvez indiquer qu’un produit n’est plus disponible à la vente en cochant un champ Discontinué. Les produits abandonnés ne sont pas affichés dans le catalogue ou proposés à la vente, mais ils sont conservés dans la base de données pendant un certain temps au cas où il serait pratique de les revendre. Une situation similaire pourrait exister avec des clients qui n’ont pas passé de commande depuis longtemps ou qui ont demandé à être retirés d’une liste de diffusion mais qui pourraient encore passer des commandes.
Pour maintenir une base de données efficace, il est judicieux de supprimer de temps à autre les enregistrements obsolètes. Vous pouvez faire défiler les tables et supprimer les enregistrements manuellement, mais si tous les enregistrements que vous souhaitez supprimer correspondent à un modèle, vous pouvez utiliser une requête de suppression pour vous en débarrasser rapidement.
Il est important de garder deux choses à l’esprit lors de la suppression d’enregistrements d’une base de données:
■ Vous ne pouvez pas récupérer les enregistrements supprimés.
■ Les effets d’une requête de suppression peuvent être plus importants que prévu.
Si la table à partir de laquelle vous supprimez des enregistrements est liée à une autre table et que l’option Supprimer en cascade les enregistrements associés pour cette relation est sélectionnée, les enregistrements de la deuxième table seront également supprimés. (La suppression en cascade signifie essentiellement que la suppression est également appliquée aux enregistrements associés.) Parfois, c’est ce que vous voulez, mais parfois ce n’est pas le cas. Par exemple, vous ne souhaitez probablement pas supprimer les enregistrements des ventes précédentes en même temps que vous supprimez les produits abandonnés.
Par mesure de précaution, avant de supprimer réellement des enregistrements, vous souhaiterez peut-être afficher la page Relations en cliquant sur le bouton Relations dans le groupe Relations de l’onglet Outils de base de données. Si la table dont vous supprimez des données a une relation avec une table contenant des informations qui ne doivent pas être supprimées, cliquez avec le bouton droit sur la ligne de relation, cliquez sur Modifier la relation et assurez-vous que si la case Appliquer l’intégrité référentielle est cochée, la case à cocher Supprimer les enregistrements associés en cascade n’est pas activée.
Pour vous protéger contre d’éventuels problèmes, vous souhaiterez sauvegarder votre base de données avant de supprimer les enregistrements. Vous pouvez également créer une nouvelle table (peut-être nommée Supprimé <nom de fichier>), puis déplacer les enregistrements que vous souhaitez supprimer vers la nouvelle table, dans laquelle vous pouvez les consulter avant de les supprimer définitivement.
Dans cet exercice, vous allez créer une requête de suppression qui supprimera les enregistrements des produits abandonnés d’une table.
CONFIGURATION
Si nécessaire, ouvrez la base de données. Suivez ensuite les étapes.
1 Ouvrez le Concepteur de requêtes et ajoutez la table Produits à la requête.
2 Dans la liste du champ Produits, double-cliquez sur * (l’astérisque) pour saisir Produits * dans le champ de ligne et Produits dans la ligne Tableau de la première colonne de la grille de création.
3 Dans la liste des champs Produits, double-cliquez sur Discontinué pour le copier dans la colonne disponible suivante de la grille de création.
Convertissons cette requête de sélection en requête de suppression, puis utilisons des critères pour identifier les enregistrements que nous voulons supprimer.
4 Dans l’onglet Outil de conception, dans le groupe Type de requête, cliquez sur le bouton Supprimer pour convertir cette requête de sélection en requête de suppression.
Dans la grille de création de requête, les lignes Trier et Afficher disparaissent et une ligne Supprimer apparaît.
Dans la première colonne, qui contient la référence à tous les champs de la table Produits, la ligne Supprimer contient le mot De, indiquant qu’il s’agit de la table à partir de laquelle les enregistrements seront supprimés. Lorsque vous ajoutez des champs individuels aux colonnes restantes, comme vous l’avez fait avec le champ Discontinué, la ligne Supprimé affiche Où, indiquant
que ce champ peut inclure des critères de suppression. Le champ Discontinué est défini sur Oui /
Aucun type de données, qui est représenté dans la feuille de données sous la forme d’une case à cocher activée pour indiquer Oui et désactivée pour indiquer Non. Pour localiser tous les produits abandonnés, vous devez identifier les enregistrements avec le champ Discontinué défini sur Oui.
5 Dans la ligne Critères du champ Discontinué, entrez Oui, puis appuyez sur la touche Entrée. Avant de faire autre chose, testons la requête.
6 Sans exécuter la requête, passez en mode Feuille de données, qui affiche les 18 produits abandonnés qui seront supprimés si vous exécutez la requête.
7 Faites défiler vers la droite pour vérifier que pour tous les enregistrements, la case à cocher Produits . Discontinué est cochée.
8 Revenez en mode Création et exécutez la requête.
Avant de supprimer les enregistrements, Access vous avertit de la permanence de cette action. Dans la boîte de message, cliquez sur Oui, ce qui affiche un autre avertissement.
Access ne peut pas supprimer deux des enregistrements abandonnés.
10 Dans la boîte de message, cliquez sur Non pour annuler la suppression. Deux enregistrements abandonnés ne peuvent pas être supprimés car ils ont des entrées dans la table Détails de la commande. S’il s’agissait d’une base de données réelle, vous devrez décider si vous souhaitez définir le champ Discontinué de ces produits sur Non (décochez leurs cases) ou supprimer les entrées de la table Détails de la commande avant d’autoriser la requête à supprimer les enregistrements de produit.
Supposons que vous craigniez que quelqu’un exécute accidentellement cette requête de suppression et détruise les enregistrements que vous n’êtes pas prêt à détruire. Modifions la requête en une requête de sélection avant de l’enregistrer.
11 Dans l’onglet Outil de conception, dans le groupe Type de requête, cliquez sur le bouton Sélectionner. Notez que dans la grille de création de requête, la ligne Supprimer a disparu et les lignes Trier et Afficher sont désormais affichées.
12 Enregistrez la requête sous le nom Supprimer les produits abandonnés.
CONSEIL Si vous souhaitez supprimer ultérieurement des enregistrements obsolètes, ouvrez la requête Sélection en mode Création, convertissez-la en requête de suppression, puis exécutez-la.
Supprimer un enregistrement à l’aide de requêtes dans Access
Au fil du temps, certaines des informations stockées dans une base de données peuvent devenir obsolètes. Par exemple, le tableau Produits répertorie tous les produits que l’entreprise propose actuellement à la vente ou les a vendus dans le passé. Vous pouvez indiquer qu’un produit n’est plus disponible à la vente en cochant un champ Discontinué. Les produits abandonnés ne sont pas affichés dans le catalogue ou proposés à la vente, mais ils sont conservés dans la base de données pendant un certain temps au cas où il serait pratique de les revendre. Une situation similaire pourrait exister avec des clients qui n’ont pas passé de commande depuis longtemps ou qui ont demandé à être retirés d’une liste de diffusion mais qui pourraient encore passer des commandes.
Pour maintenir une base de données efficace, il est judicieux de supprimer de temps à autre les enregistrements obsolètes. Vous pouvez faire défiler les tables et supprimer les enregistrements manuellement, mais si tous les enregistrements que vous souhaitez supprimer correspondent à un modèle, vous pouvez utiliser une requête de suppression pour vous en débarrasser rapidement.
Il est important de garder deux choses à l’esprit lors de la suppression d’enregistrements d’une base de données:
■ Vous ne pouvez pas récupérer les enregistrements supprimés.
■ Les effets d’une requête de suppression peuvent être plus importants que prévu.
Si la table à partir de laquelle vous supprimez des enregistrements est liée à une autre table et que l’option Supprimer en cascade les enregistrements associés pour cette relation est sélectionnée, les enregistrements de la deuxième table seront également supprimés. (La suppression en cascade signifie essentiellement que la suppression est également appliquée aux enregistrements associés.) Parfois, c’est ce que vous voulez, mais parfois ce n’est pas le cas. Par exemple, vous ne souhaitez probablement pas supprimer les enregistrements des ventes précédentes en même temps que vous supprimez les produits abandonnés.
Par mesure de précaution, avant de supprimer réellement des enregistrements, vous souhaiterez peut-être afficher la page Relations en cliquant sur le bouton Relations dans le groupe Relations de l’onglet Outils de base de données. Si la table dont vous supprimez des données a une relation avec une table contenant des informations qui ne doivent pas être supprimées, cliquez avec le bouton droit sur la ligne de relation, cliquez sur Modifier la relation et assurez-vous que si la case Appliquer l’intégrité référentielle est cochée, la case à cocher Supprimer les enregistrements associés en cascade n’est pas activée.
Pour vous protéger contre d’éventuels problèmes, vous souhaiterez sauvegarder votre base de données avant de supprimer les enregistrements. Vous pouvez également créer une nouvelle table (peut-être nommée Supprimé <nom de fichier>), puis déplacer les enregistrements que vous souhaitez supprimer vers la nouvelle table, dans laquelle vous pouvez les consulter avant de les supprimer définitivement.
Dans cet exercice, vous allez créer une requête de suppression qui supprimera les enregistrements des produits abandonnés d’une table.
CONFIGURATION
Si nécessaire, ouvrez la base de données. Suivez ensuite les étapes.
1 Ouvrez le Concepteur de requêtes et ajoutez la table Produits à la requête.
2 Dans la liste du champ Produits, double-cliquez sur * (l’astérisque) pour saisir Produits * dans le champ de ligne et Produits dans la ligne Tableau de la première colonne de la grille de création.
3 Dans la liste des champs Produits, double-cliquez sur Discontinué pour le copier dans la colonne disponible suivante de la grille de création.
Convertissons cette requête de sélection en requête de suppression, puis utilisons des critères pour identifier les enregistrements que nous voulons supprimer.
4 Dans l’onglet Outil de conception, dans le groupe Type de requête, cliquez sur le bouton Supprimer pour convertir cette requête de sélection en requête de suppression.
Dans la grille de création de requête, les lignes Trier et Afficher disparaissent et une ligne Supprimer apparaît.
Dans la première colonne, qui contient la référence à tous les champs de la table Produits, la ligne Supprimer contient le mot De, indiquant qu’il s’agit de la table à partir de laquelle les enregistrements seront supprimés. Lorsque vous ajoutez des champs individuels aux colonnes restantes, comme vous l’avez fait avec le champ Discontinué, la ligne Supprimé affiche Où, indiquant
que ce champ peut inclure des critères de suppression. Le champ Discontinué est défini sur Oui /
Aucun type de données, qui est représenté dans la feuille de données sous la forme d’une case à cocher activée pour indiquer Oui et désactivée pour indiquer Non. Pour localiser tous les produits abandonnés, vous devez identifier les enregistrements avec le champ Discontinué défini sur Oui.
5 Dans la ligne Critères du champ Discontinué, entrez Oui, puis appuyez sur la touche Entrée. Avant de faire autre chose, testons la requête.
6 Sans exécuter la requête, passez en mode Feuille de données, qui affiche les 18 produits abandonnés qui seront supprimés si vous exécutez la requête.
7 Faites défiler vers la droite pour vérifier que pour tous les enregistrements, la case à cocher Produits . Discontinué est cochée.
8 Revenez en mode Création et exécutez la requête.
Avant de supprimer les enregistrements, Access vous avertit de la permanence de cette action. Dans la boîte de message, cliquez sur Oui, ce qui affiche un autre avertissement.
Access ne peut pas supprimer deux des enregistrements abandonnés.
10 Dans la boîte de message, cliquez sur Non pour annuler la suppression. Deux enregistrements abandonnés ne peuvent pas être supprimés car ils ont des entrées dans la table Détails de la commande. S’il s’agissait d’une base de données réelle, vous devrez décider si vous souhaitez définir le champ Discontinué de ces produits sur Non (décochez leurs cases) ou supprimer les entrées de la table Détails de la commande avant d’autoriser la requête à supprimer les enregistrements de produit.
Supposons que vous craigniez que quelqu’un exécute accidentellement cette requête de suppression et détruise les enregistrements que vous n’êtes pas prêt à détruire. Modifions la requête en une requête de sélection avant de l’enregistrer.
11 Dans l’onglet Outil de conception, dans le groupe Type de requête, cliquez sur le bouton Sélectionner. Notez que dans la grille de création de requête, la ligne Supprimer a disparu et les lignes Trier et Afficher sont désormais affichées.
12 Enregistrez la requête sous le nom Supprimer les produits abandonnés.
CONSEIL Si vous souhaitez supprimer ultérieurement des enregistrements obsolètes, ouvrez la requête Sélection en mode Création, convertissez-la en requête de suppression, puis exécutez-la.
Laissez un commentaire
Cours Office Access
Nos certifications
Sur Facebook
Nos cours Office
Newsletter
Nous suivre...