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

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

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Lorsque vous souhaitez rapidement supprimez un grand nombre de données ou supprimer un jeu de données à intervalles réguliers dans une base de données Access, une suppression ou une requête mise à jour peut être utile, car les requêtes vous permettent de spécifier des critères pour rechercher et supprimer les données rapidement. Utilisation d’une requête peut également être un gain de temps que vous pouvez réutiliser une requête enregistrée.

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

Si vous voulez supprimer seulement quelques enregistrements, une requête n’est pas nécessaire. Ouvrez simplement la table en mode Feuille de données, sélectionnez les champs (colonnes) ou enregistrements (lignes) à supprimer, puis appuyez sur Entrée.

Important : Les informations contenues dans cet article sont destinés uniquement les bases de données de bureau. Vous ne pouvez pas utiliser supprimer ou mettre à jour requêtes dans les applications web Access.

Contenu de cet article

Choisir un type de requête

Utiliser une requête Suppression

Utiliser une requête Mise à jour

Informations supplémentaires

Conseils de dépannage

Choisir un type de requête

Vous pouvez utiliser une requête Mise à jour ou une requête Suppression pour supprimer les données de votre base de données. Sélectionnez une requête en fonction des informations 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, vous devrez peut-être modifier la relation avant d’exécuter la requête Suppression. Voir la section sur la Supprimer des données de tables associées pour plus d’informations.

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.

Facilite la suppression de valeurs en mettant à jour les valeurs existantes en valeurs Null (c’est-à-dire sans données) ou en chaînes de longueur nulle (deux guillemets droits sans espace).

Haut de la 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 et 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’en êtes pas certain, contactez votre administrateur système ou le concepteur de base de données.

  • Assurez-vous que vous avez activé le contenu dans la base de données. Par défaut, Access bloque toutes les requêtes Action (Suppression, Mise à jour et Création de table), à moins de commencer par approuver la base de données. 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, les formulaires, les requêtes et les états utilisant les données que vous souhaitez supprimer. Vous éviterez ainsi des violations de verrouillage.

  • Avant de modifier ou de supprimer des enregistrements, pensez à faire une copie de sauvegarde de la base de données au cas où vous souhaiteriez annuler les modifications.

Conseil : Si un grand nombre d’utilisateurs de se connecter à la base de données, vous devrez peut-être fermer la base de données et la rouvrir dans 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 située 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, puis pointez sur Enregistrer sous.

  2. Cliquez sur Enregistrer la baser de données sous, puis 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 créée dans la version précédente d’Access, un message peut s’afficher pour vous indiquer qu’il est impossible 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 le 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.

La table s’affiche sous forme de 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 : Les critères servent à renvoyer uniquement les enregistrements que vous souhaitez supprimer. Sinon, la requête Suppression supprime tous les enregistrements de la table.

Double-cliquez sur le champ que vous souhaitez spécifier comme critères de suppression, entrez une critères de la ligne critères de la requête concepteur, puis effacer la case à cocher Afficher pour chaque champ de critère.

Voici un exemple d’utilisation de cette option : supposons que vous vouliez supprimer toutes les commandes en attente pour un client. Pour rechercher uniquement ces enregistrements, vous devrez ajouter les champs Code client et Date commande à la grille de création de requête, puis entrer la référence du client et la date à laquelle les commandes de ce client sont devenues non valides.

  1. Sous l’onglet Création, cliquez sur affichage > Mode feuille de données.

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

  3. Pour exécuter la requête, double-cliquez dessus 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 des tables. N’oubliez pas que l’exécution d’une requête Mise à jour pour supprimer des données modifiera vos valeurs existantes en valeurs Null ou en chaînes de longueur nulle (c’est-à-dire deux guillemets droits sans espace), selon les critères spécifiés.

  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 à supprimer (si la table est associée, sélectionnez la table du côté « un » de la relation), cliquez sur Ajouter, puis sur Fermer.

    La table s’affiche sous forme de fenêtre dans la partie supérieure de la grille de création de requête. Cette fenêtre contient la liste de 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. Le fait d’ajouter tous les champs de la table permet à la requête Suppression de supprimer les enregistrements entiers (lignes) de la table.

    De même, vous pouvez entrer des critères pour un ou plusieurs champs dans la ligne Critères du concepteur et désactiver la case à cocher Afficher pour chaque champ de critère. Pour plus d’informations sur l’utilisation de critères, voir la table Exemples de critères de requête Sélection.

    Remarque : Les critères servent à renvoyer uniquement les enregistrements que vous souhaitez modifier. Sinon, la requête Mise à jour définit chaque enregistrement de champ sur la valeur NULL.

  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 la valeur NULL ou une chaîne de longueur nulle (une paire de guillemets droits sans espace entre eux (» «).

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

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

Haut de la page

Informations supplémentaires

Supprimer des données de tables associées

Si vous souhaitez supprimer des données de plusieurs tables associées, vous devez activer les options Intégrité référentielle et Effacer en cascade les enregistrements correspondants pour chaque relation. Votre requête peut ainsi supprimer les données de ces tables sur les côtés « un » et « plusieurs » de la relation. Se préparer à supprimer des données associées nécessite de vérifier les points 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 situés du côté « un » de la relation et les enregistrements liés du côté « plusieurs », activez le jeu de règles appelé Intégrité référentielle, ainsi que les suppressions en cascade. Les procédures décrites dans cette section expliquent l’intégrité référentielle et l’exécution de ces 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. Cet onglet représente chaque relation par une ligne reliant les tables entre les champs.

L’illustration suivante montre une relation classique. La plupart des relations dans une base de données ont un côté « un » et un côté « plusieurs ». Le diagramme des relations représente le côté « un » par le chiffre un (1) et le côté « plusieurs » par le symbole «infini» ().

Relation entre deux tables

Lorsque vous supprimez des enregistrements du côté « un » de la relation, vous supprimez également tous les enregistrements associés du côté « plusieurs » de la relation. En revanche, lorsque vous supprimez des enregistrements du côté « plusieurs » d’une relation, les enregistrements du côté « un » ne sont normalement pas supprimés.

De même, Access applique automatiquement un ensemble de règles appelé « intégrité référentielle ». Ces règles visent à s’assurer 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 à celles de la colonne de clé primaire d’une autre table.

Modifier la relation

Procédez comme suit uniquement si vous devez supprimer les données situé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 ne désactiverez pas à nouveau 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 aux étapes suivantes.

Suppression d’une relation

  1. Si ce n’est 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 que vous puissiez la restaurer après la suppression de vos données.

  3. Avec le bouton droit de 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, reprenez les étapes précédentes pour ouvrir le volet Relations, faites glisser le champ de clé primaire dans la table « un » et déposez-le sur le champ de clé étrangère de la table « plusieurs ». La boîte de dialogue Modifier une relation s’affiche. Si l’ancienne relation a appliqué l’intégrité référentielle, sélectionnez l’option Appliquer l’intégrité référentielle, puis cliquez sur Créer. Sinon, il vous suffit de cliquer sur Créer.

Haut de la page

Exemples de critères de requête Sélection

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

Critère

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 #02/02/2010# Et #01/12/2010#

Renvoie les dates 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 #. Exemple : Entre '02.02.10' Et '01/12/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 (?).

#02/02/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, mettez la date entre apostrophes au lieu d’utiliser des signes # ('02.02.10').

< 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 (autre que Null).

""

Renvoie tous les enregistrements contenant une chaîne vide. Les chaînes vides sont utilisées lorsqu’un champ rend obligatoire l’ajout d’une valeur, mais que la valeur définitive n’est pas connue. Par exemple, un champ peut nécessiter la saisie d’un numéro de télécopie. Or, si certains de vos clients ne possèdent pas de télécopieur, vous pouvez taper deux guillemets droits sans espace entre "" à la place d’un numéro.

Haut de la 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 a la valeur Non, Access affiche le message d’erreur Impossible de supprimer dans les tables spécifiées lorsque vous exécutez 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 de propriétés 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 que 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 que rien ne semble se produire, vérifiez si le message suivant s’affiche dans la barre d’état Access :

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

Lorsque ce message s’affiche, procédez comme suit pour activer le contenu bloqué :

  • Dans la barre de Message d’Avertissement de sécurité, cliquez sur Activer le contenu, et relancez votre requête.

Pour plus d’informations sur le mode Désactivé et la sécurité Access, voir l’article Comment se comportent les objets de base de données selon qu’ils sont approuvés ou non.

haut de la Page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
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.

×