Passer directement au contenu principal
Office
Créer et exécuter une requête Suppression

Créer et exécuter une requête Suppression

Pour supprimer rapidement un grand nombre de données ou supprimer un jeu de données de façon régulière dans une base de données de bureau Access, une requête suppression ou mise à jour peut être utile, car les requêtes permettent de rechercher et de supprimer rapidement les données. Pour utiliser une requête, vous pouvez également être un timesaver, car vous pouvez réutiliser une requête enregistrée.

Remarque : Avant de supprimer des données ou d’exécuter une requête Suppression, vérifiez que vous disposez d’une sauvegarde de votre base de données Access de bureau.

Si vous voulez supprimer uniquement quelques enregistrements, vous n’avez pas besoin de requête. Ouvrez la table en mode feuille de données, sélectionnez les champs (colonnes) ou les enregistrements (lignes) que vous voulez supprimer, puis appuyez sur SUPPR.

Important :  Les informations contenues dans cet article s’adressent uniquement aux bases de données de bureau. Vous ne pouvez pas utiliser les requêtes suppression ou mise à jour dans les applications Web Access.

Contenu de cet article

Choix d’un type de requête

Utiliser une requête Suppression

Utiliser une requête Mise à jour

Informations supplémentaires

Conseils de dépannage

Choix d’un type de requête

Pour supprimer des données d’une base de données, vous pouvez utiliser une requête mise à jour ou une requête suppression. Sélectionnez une requête basée sur les détails du tableau suivant :

Type de requête

Utilisation

Résultats

Utiliser une requête Suppression

Pour supprimer des enregistrements entiers (lignes) d’une table ou de deux tables associées simultanément.

Remarque :  Si les enregistrements se trouvent du côté « un » d’une relation un-à-plusieurs, il est possible que vous deviez modifier la relation avant d’exécuter la requête suppression. Voir la section sur la suppression des données de tables liées.

Les requêtes suppression suppriment toutes les données de chaque champ, y compris la valeur clé qui rend l’enregistrement unique.

Utiliser une requête mise à jour

Pour supprimer des valeurs de champ individuelles d’une table.

Il est plus facile de supprimer les valeurs en mettant à jour les valeurs existantes sur une valeur null (c’est-à-dire sans données) ou une chaîne de longueur nulle (deux guillemets doubles sans espace).

Haut de page

Points à vérifier avant d’utiliser une requête pour supprimer des données

  • Vérifiez que le fichier n’est pas en lecture seule :

    1. Cliquez avec le bouton droit sur Démarrer , puis cliquez sur ouvrir l’Explorateur Windows.

    2. Cliquez avec le bouton droit sur le fichier de base de données, puis cliquez sur Propriétés.

    3. Regardez si l’attribut lecture seule est sélectionné.

  • Vérifiez que vous disposez des autorisations nécessaires pour supprimer des enregistrements de la base de données. Si vous n’êtes pas sûr, contactez votre administrateur système ou le concepteur de la base de données.

  • Vérifiez que vous avez activé le contenu de la base de données. Par défaut, Access bloque toutes les requêtes action (suppression, mise à jour et création de table), sauf si vous faites confiance à la base de données pour la première fois. Pour plus d’informations sur l’approbation d’une base de données, voir la section empêcher le mode désactivé de bloquer une requête.

  • Demandez aux autres utilisateurs de la base de données de fermer toutes les tables, formulaires, requêtes et États qui utilisent les données que vous voulez supprimer. Cela permet d’éviter des violations de verrouillage.

  • Avant de modifier ou de supprimer des enregistrements, pensez à faire une copie de sauvegarde de la base de données si vous souhaitez annuler vos modifications.

Conseil :  S’il s’agit d’un grand nombre d’utilisateurs se connectant à la base de données, vous devrez peut-être fermer la base de données et la rouvrir en mode exclusif .

Pour ouvrir une base de données en mode exclusif

  1. Cliquez sur l’onglet fichier > ouvrir.

  2. Recherchez la base de données et pointez dessus pour la sélectionner, cliquez sur la flèche en regard du bouton ouvrir , puis cliquez sur ouvrir en exclusif.

    Ouverture d’un fichier en mode Exclusif

Sauvegarder la base de données

  1. Cliquez sur l’onglet fichier , pointez sur Enregistrer sous.

  2. Cliquez sur enregistrer la base de données sous, cliquez sur sauvegarder la base de données. Access ferme le fichier d’origine, crée une sauvegarde, puis rouvre le fichier d’origine.

  3. Cliquez sur Enregistrer sous et spécifiez un nom et un emplacement pour la copie de sauvegarde, puis cliquez sur Enregistrer.

Remarque :  Si vous utilisez une base de données en lecture seule ou une base de données créée dans la version précédente d’Access, il est possible que vous receviez un message indiquant qu’il n’est pas possible de créer une sauvegarde de la base de données.

Pour rétablir une sauvegarde, fermez et renommez le fichier d’origine de sorte que la copie de sauvegarde puisse utiliser le nom de la version d’origine. Attribuez à la copie de sauvegarde le nom de la version d’origine, puis ouvrez la copie de sauvegarde ainsi renommée dans Access.

Utiliser une requête Suppression

Pour créer une requête suppression, cliquez sur l’onglet créer , dans le groupe requêtes , cliquez sur création de requête. Dans la boîte de dialogue afficher la table , double-cliquez sur chaque table à partir de laquelle vous voulez supprimer des enregistrements, puis cliquez sur Fermer.

Le tableau s’affiche sous la forme d’une fenêtre dans la partie supérieure de la grille de création de requête. Dans la liste des champs, double-cliquez sur l’astérisque (*) pour ajouter tous les champs de la table à la grille de création.

Utiliser un critère spécifique dans une requête Suppression

Important : Utilisez des critères pour renvoyer uniquement les enregistrements que vous voulez supprimer. Dans le cas contraire, la requête Suppression supprime tous les enregistrements de la table.

Double-cliquez sur le champ que vous souhaitez spécifier comme critère de suppression, entrez un critère dans la ligne critères du concepteur de requêtes, puis désactivez la case à cocher Afficher pour chaque champ de critère.

Par exemple, si vous souhaitez utiliser cette option, imaginons que vous souhaitiez supprimer toutes les commandes en attente d’un client. Pour rechercher uniquement ces enregistrements, vous devez ajouter les champs ID client et date de la commande à la grille de création de la requête, puis entrer le numéro d’identification du client et la date à laquelle les commandes de ce client sont devenues incorrectes.

  1. Dans l’onglet création , cliquez sur affichage > mode feuillede données.

  2. Vérifiez que la requête renvoie les enregistrements que vous voulez supprimer, puis appuyez sur CTRL + S pour enregistrer la requête.

  3. Pour exécuter la requête, double-cliquez sur la requête dans le volet de navigation.

Haut de la page

Utiliser une requête Mise à jour

Remarque :  Vous ne pouvez pas utiliser l’option de requête mise à jour dans une application Web Access.

Cette section explique comment utiliser une requête mise à jour pour supprimer des champs individuels d’une table. N’oubliez pas que l’exécution d’une requête mise à jour pour supprimer des données remplacera celles-ci par une chaîne NULL ou une chaîne de longueur nulle (deux guillemets doubles sans espace), en fonction des critères que vous spécifiez.

  1. Cliquez sur l’onglet créer , puis dans le groupe requêtes , cliquez sur création de requête.

  2. Sélectionnez la table contenant les données que vous souhaitez supprimer (si le tableau est lié, sélectionnez la table du côté « un » de la relation), cliquez sur Ajouter, puis sur Fermer.

    Le tableau s’affiche sous la forme d’une fenêtre dans la partie supérieure de la grille de création de requête. La fenêtre recense tous les champs de la table sélectionnée.

  3. Double-cliquez sur l’astérisque (*) pour ajouter tous les champs de la table à la grille de création. Lorsque vous ajoutez tous les champs de table, la requête Suppression permet de supprimer les enregistrements entiers (lignes) de la table.

    Vous pouvez également entrer des critères pour un ou plusieurs champs de la ligne critères du concepteur, puis désactivez la case à cocher Afficher pour chaque champ de critère. Pour plus d’informations sur l’utilisation des critères, consultez l' exemple de tableau des requêtes Sélection .

    Remarque :  Vous utilisez des critères pour renvoyer uniquement les enregistrements que vous voulez modifier. Dans le cas contraire, la requête mise à jour définit sur NULL chaque enregistrement dans chacun des champs de votre requête.

  4. Sous l’onglet Création, dans le groupe Résultats, cliquez sur Affichage, puis sur Mode Feuille de données.

  5. Vérifiez que la requête renvoie les enregistrements que vous souhaitez définir avec une valeur NULL ou une chaîne de longueur nulle (deux guillemets droits sans espace ("").

  6. Le cas échéant, répétez les étapes 3 à 5 et modifiez les champs ou critères jusqu’à ce que la requête renvoie uniquement les données que vous voulez supprimer, puis appuyez sur CTRL + S pour enregistrer la requête.

  7. Pour exécuter la requête, double-cliquez sur la requête dans le volet de navigation.

Haut de page

Informations supplémentaires

Supprimer des données de tables associées

Si vous voulez supprimer des données de plusieurs tables liées, vous devez activer les options intégrité référentielle et effacer en cascade les enregistrements correspondants pour chaque relation. Cela permet à votre requête de supprimer les données des tables sur les côtés « un » et « plusieurs » de la relation. Pour préparer la suppression des données associées, vous devez vérifier les éléments suivants :

  • Déterminez les enregistrements se situant du côté « un » et du côté « plusieurs » de la relation.

  • Si vous devez supprimer les enregistrements du côté « un » de la relation et les enregistrements associés du côté « plusieurs », vous activez un ensemble de règles intitulées intégrité référentielle et activez les suppressions en cascade. Les étapes décrites dans cette section expliquent l’intégrité référentielle et expliquent comment effectuer les deux tâches.

  • Si vous devez supprimer les enregistrements du côté « un » uniquement, commencez par supprimer cette relation, puis supprimez les données.

Si vous devez supprimer les données du côté « plusieurs » uniquement, vous pouvez créer et exécuter votre requête suppression sans modifier la relation.

Pour savoir quels enregistrements se trouvent sur les côtés « un » et « plusieurs » d’une relation, sous l’onglet outils de base de données , dans le groupe relations , cliquez sur relations. L’onglet relations affiche les tables de votre base de données et les relations. Chaque relation est représentée par un trait qui relie les tables entre les champs.

La figure suivante illustre une relation classique. La plupart des relations d’une base de données sont la plupart du côté « un » et du côté « plusieurs ». Le schéma des relations désigne le côté « un » par le chiffre un (1) et le côté « plusieurs » avec le symbole infini ().

Relation entre deux tables

Lorsque vous supprimez les enregistrements du côté « un » de la relation, vous supprimez également tous les enregistrements associés du côté « plusieurs » de la relation. Toutefois, lorsque vous supprimez les enregistrements du côté « plusieurs » d’une relation, vous ne supprimez généralement aucun enregistrement du côté « un ».

Par ailleurs, Access applique automatiquement un ensemble de règles appelées intégrité référentielle. Ces règles garantissent que les clés étrangères d’une base de données contiennent les valeurs correctes. Une clé étrangère est une colonne dont les valeurs correspondent aux valeurs de la colonne clé primaire d’une autre table.

Modifier la relation

Suivez ces étapes uniquement si vous devez supprimer les données sur les côtés « un » et « plusieurs » d’une relation.

  1. Sous l’onglet Outils de base de données, dans le groupe Relations, cliquez sur Relations.

  2. Cliquez avec le bouton droit sur la relation (la ligne) reliant les tables concernées par l’opération de suppression, puis cliquez sur modifier une relation dans le menu contextuel.

  3. Dans la boîte de dialogue modifier des relations , vérifiez que la case à cocher appliquer l’intégrité référentielle est activée.

  4. Activez la case à cocher effacer en cascade les enregistrements correspondants .

    Remarque :  Tant que vous n’aurez plus désactivé cette propriété, la suppression d’un enregistrement du côté « un » de la relation entraîne la suppression de tous les enregistrements associés du côté « plusieurs » de la relation.

  5. Cliquez sur OK, fermez le volet relations , puis passez à l’ensemble d’étapes suivant.

Supprimer une relation

  1. Si ce n’est pas déjà fait, ouvrez le volet relations .

  2. Sous l’onglet Outils de base de données, dans le groupe Relations, cliquez sur Relations.

    Notez les champs concernés par la relation pour pouvoir restaurer la relation après la suppression de vos données.

  3. Cliquez avec le bouton droit sur la relation (la ligne) reliant les tables concernées par l’opération de suppression, puis cliquez sur supprimer dans le menu contextuel.

Remarque :  Pour restaurer la relation, suivez les étapes précédentes pour ouvrir le volet relations , puis faites glisser le champ de clé primaire de la table « un » et déposez-le sur le champ de clé étrangère de la table « plusieurs ». La boîte de dialogue modifier la relation s’affiche. Si l’ancienne relation est appliquée de l’intégrité référentielle, sélectionnez appliquer l’intégrité référentielle, puis cliquez sur créer. Dans le cas contraire, il suffit de cliquer sur créer.

Haut de page

Exemples de critères pour les requêtes sélection

Le tableau suivant répertorie quelques exemples de critères que vous pouvez utiliser dans les requêtes sélection pour vous assurer que vous souhaitez supprimer uniquement les données que vous souhaitez supprimer. Certains de ces exemples utilisent des caractères génériques.

Critères

Effet

> 234

Renvoie tous les nombres supérieurs à 234. Pour rechercher tous les nombres inférieurs à 234, utilisez < 234.

>= « Cajhen »

Renvoie tous les enregistrements de Cajhen à la fin de l’alphabet.

Entre #2/02/2010 # et #12/1/2010 #

Renvoie les dates comprises entre le 2 février 2010 et le 1er décembre 2010 (ANSI-89). Si votre base de données utilise les caractères génériques ANSI-92, utilisez des apostrophes (') au lieu des signes (#). Par exemple : entre « 2/2/2010 » et « 12/1/2010 ».

Pas "Allemagne"

Recherche tous les enregistrements pour lesquels le contenu du champ n’est pas exactement égal à « Allemagne». Le critère renvoie les enregistrements qui contiennent des caractères en plus d’« Allemagne » tel qu’« Allemagne (Euro) » ou « Europe (Allemagne) ».

Pas "T*"

Recherche tous les enregistrements hormis ceux commençant par T. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage (%) à la place de l'astérisque (*).

Pas "*t"

Recherche tous les enregistrements qui ne se terminent pas par t. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage (%) à la place de l’astérisque (*).

Dans(Canada,R-U)

Dans une liste, recherche tous les enregistrements contenant Canada ou R-U.

Comme "[A-D]*"

Dans un champ texte, recherche tous les enregistrements commençant par les lettres A à D. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage (%). à la place de l’astérisque (*).

Comme "*ar*"

Recherche tous les enregistrements comportant la séquence de lettres « ar ». Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage (%) à la place de l’astérisque (*).

Comme "Maison Dewe?"

Recherche tous les enregistrements commençant par « Maison » et contenant une deuxième chaîne de 5 lettres dont les 4 premières lettres sont « Dewe » et la dernière est inconnue. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le caractère de soulignement (_) à la place du point d’interrogation (?).

#2/2/2010 #

Recherche tous les enregistrements du 2 février 2010. Si votre base de données utilise le jeu de caractères génériques ANSI-92, entourez la date de guillemets simples au lieu de signes dièse (' 2/2/2010 ').

< Date( )- 30

Utilise la fonction Date pour renvoyer toutes les dates postérieures aux 30 derniers jours.

Date()

Utilise la fonction Date pour renvoyer tous les enregistrements contenant la date du jour.

Entre Date( ) Et AjDate("m", 3, Date( ))

Utilise les fonctions Date et AjDate pour renvoyer tous les enregistrements situés entre la date du jour et les trois mois suivants.

Est Null

Renvoie tous les enregistrements contenant une valeur Null (vide ou non définie).

Est Pas Null

Renvoie tous les enregistrements contenant une valeur (qui n’est pas null).

""

Renvoie tous les enregistrements contenant une chaîne vide. Vous utilisez des chaînes de longueur nulle lorsque vous avez besoin d’ajouter une valeur à un champ obligatoire, mais que vous ne connaissez pas encore la valeur réelle. Par exemple, un champ peut nécessiter la saisie d’un numéro de télécopie. Dans ce cas, au lieu d’entrer un nombre, vous devez entrer deux guillemets droits sans espace entre eux ("").

Haut de page

Conseils de dépannage

Pourquoi ce message d’erreur s’affiche-t-il et comment puis-je corriger l’erreur ?

Si vous créez une requête suppression en utilisant plusieurs tables et que la propriété enregistrements uniques de la requête est définie sur non, Access affiche le message d’erreur. Impossible de supprimer dans les tables spécifiées lors de l’exécution de la requête.

Pour résoudre ce problème, attribuez la valeur Oui à la propriété Enr uniques.

  1. Ouvrez la requête Suppression en mode Création.

  2. Si la feuille des propriétés de requête n’est pas ouverte, appuyez sur F4 pour l’ouvrir.

  3. Cliquez sur le Concepteur de requêtes pour afficher les propriétés de la requête (et pas celles des champs).

  4. Dans la feuille de propriétés de la requête, recherchez la propriété Enregistrements uniques et attribuez-lui la valeur Oui.

Empêcher le mode désactivé de bloquer une requête

Par défaut, si vous ouvrez une base de données de bureau à laquelle vous n’avez pas choisi d’approuver ou qui ne se trouve pas dans un emplacement approuvé, Access empêche l’exécution de toutes les requêtes action.

Si vous essayez d’exécuter une requête Action et qu’il ne se passe rien, vérifiez que le message suivant n’apparaît pas sur la barre d’état Access :

Le mode Désactivé a bloqué cette action ou cet événement.

Lorsque vous voyez ce message, procédez comme suit pour activer le contenu bloqué :

  • Dans la barre des messages avertissement de sécurité , cliquez sur activer le contenuet relancez votre requête.

Haut de la page

Remarque :  Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez vous nous dire si les informations vous ont été utiles ? Voici l’article en anglais pour référence.

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 ?

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.

×