Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Access » SQL » La clause WHEREConnexion
 


Dans cet article... 
  • La clause WHERE
  • Syntaxe
  • Explications
  •  Article mis à jour le 09/12/2013

    La clause WHERE

    La clause WHERE n'est jamais utilisée seule : elle complète les instructions comme SELECT, DELETE, UPDATE..., et sert à filtrer les données.

    Le WHERE correspond à la partie Critères d'une requête classique. La syntaxe et les signes autorisés s'en inspirent donc. Consultez la fiche Filtrer dans une requête pour vous rafraîchir les idées :o).

    Attention
    Si vous souhaitez tester les exemples ci-dessous, faites peut-être une copie de votre base au préalable, dans la mesure où les données vont être modifiées de façon irréversible.

    Vers le haut

    Syntaxe

    Si votre base de données comporte 2 tables nommées tblClients et tblProduits :

    SELECT

    SELECT * FROM tblClients WHERE CA > 100000;
    SELECT [Numéro Client],[Nom Client],CA WHERE CA > 100000;
    SELECT * FROM tblProduits WHERE Catégorie="Hifi";
    SELECT * FROM tblClients WHERE Prospect = NO;
    SELECT * FROM tblClients WHERE [Code postal] LIKE "01*";

    DELETE

    DELETE FROM tblProduits WHERE [Date de consommation] < #08/31/1999#;

    UPDATE

    UPDATE tblProduits SET Prix = 100 WHERE Prix = 99.50;
    UPDATE tblProduits SET Prix = Prix * 1.05 WHERE Catégorie="HiFi" AND Prix<2000;

    Vers le haut

    Explications

    SELECT * FROM tblClients WHERE CA > 100000;

    Cette commande sélectionne tous les clients dont le CA est supérieur à 100000.
    Tous les champs de la table Clients sont affichés.
    Le critère étant numérique, aucun guillemet n'est nécessaire.
     
    SELECT [Numéro Client],[Nom Client],CA WHERE CA > 100000;

    Cette commande sélectionne tous les clients dont le CA est supérieur à 100000.
    Seuls 3 champs de la table Clients sont affichés (3 colonnes, donc).
     
    SELECT * FROM tblProduits WHERE Catégorie="Hifi";

    Cette commande sélectionne tous les produits de la catégorie Hifi.
    La catégorie est un champ Texte, d'où les guillemets.
     
    SELECT * FROM tblClients WHERE Prospect = NO;

    Cette commande sélectionne tous les clients confirmés (ceux qui ne sont pas prospects).
    On suppose ici que le champ Prospect est de type Oui/Non (soit Yes/No en SQL).
     
    SELECT * FROM tblClients WHERE [Code postal] LIKE "01*";

    Un cas souvent pratique : on sélectionne tous les clients donc le code postal ressemble (LIKE) à "01quelquechose". En clair, tous les clients de l'Ain.
     
    DELETE FROM tblProduits WHERE [Date de consommation] < #08/31/1999#;
    Cette commande détruit tous les produits dont la date de consommation est antérieure au 31/08/1999.
    Notez le format anglo-saxon de la date.
     
    UPDATE tblProduits SET Prix = 100 WHERE Prix = 99.50;
    Cette commande définit un prix de 100 pour tous les produits qui valent actuellement 99.50.
    Les autres produits ne sont bien sûr pas modifiés.
     
    UPDATE tblProduits SET Prix = Prix * 1.05 WHERE Catégorie="HiFi" AND Prix<2000;
    Tous les produits de la catégorie Hifi et dont le prix est inférieur à 2000 sont augmentés de 5%.
    A noter qu'on peut utiliser les mots-clefs AND (ET) et OR (OU) pour combiner les critères dans une clause Where.

    Vers le haut


    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]