Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Cet article fait partie d’une série d’articles à propos d’Access SQL. Il explique comment écrire une clause WHERE et s’appuie sur des exemples pour illustrer différentes techniques que vous pouvez utiliser lorsque vous écrivez une telle clause.

Pour une vue d’ensemble d’Access SQL, voir l’article Access SQL : concepts de base, vocabulaire et syntaxe.

Contenu de cet article

Sélectionner des champs : clause SELECT

Une instruction SELECT commence généralement par une clause SELECT. Vous utilisez une clause SELECT pour spécifier les noms des champs contenant des données que vous souhaitez utiliser dans une requête. Vous pouvez également utiliser des expressions au lieu de ou en plus des champs. Vous pouvez même utiliser une autre instruction SELECT en tant que champ : il s’agit d’une sous-requête.

Imaginons que vous vouliez connaître les numéros de téléphone de vos clients. En supposant que le champ qui stocke les numéros de téléphone des clients est nommé txtCustPhone, la clause SELECT se présente comme suit :

SELECT [txtCustomerPhone]

Vous pouvez mettre le nom entre crochets. Si le nom ne contient aucun espace ou caractère spécial (comme des signes de ponctuation), les crochets sont facultatifs. Si le nom contient des espaces ou des caractères spéciaux, vous devez utiliser des crochets.

Conseil : Un nom qui contient des espaces est plus facile à lire et peut vous faire gagner du temps lorsque vous concevez des formulaires et des rapports, mais peut finir par vous rendre plus tapé lorsque vous écrivez des instructions SQL. Vous devez tenir compte de ce fait lorsque vous nommez des objets dans votre base de données Access.

Si votre instruction SQL comporte deux champs ou plus du même nom, vous devez ajouter le nom de la source de données de chaque champ au nom du champ dans la clause SELECT. Vous utilisez pour la source de données le nom que vous utilisez dans la clause FROM.

Sélectionner tous les champs

Lorsque vous voulez inclure tous les champs d’une source de données, vous pouvez soit les répertorier individuellement dans la clause SELECT, soit utiliser le caractère générique astérisque (*). Lorsque vous utilisez l’astérisque, lors de l’exécution de la requête, Access détermine les champs qui contiennent la source de données, et les inclut tous dans la requête. Cela aide à s’assurer que la requête reste à jour si de nouveaux champs sont ajoutés à la source de données.

Vous pouvez utiliser l’astérisque avec une ou plusieurs sources de données dans une instruction SQL. Si vous utilisez l’astérisque et s’il existe plusieurs sources de données, vous devez inclure le nom de la source de données avec l’astérisque afin qu’Access puisse déterminer la source de données dont tous les champs doivent être inclus.

Par exemple, supposons que vous vouliez sélectionner tous les champs de la table Orders (Commandes), mais uniquement l’adresse e-mail de la table Contacts. Votre clause SELECT pourrait ressembler à ceci :

SELECT Orders.*, Contacts.[E-mail Address]

Remarque : Conservez une trace du moment où vous utilisez l’astérisque. Si de nouveaux champs sont ajoutés à la source de données par la suite sans que vous l’ayez planifié, vos résultats de requête pourraient ne pas être ceux que vous souhaitez.

Sélectionner des valeurs distinctes

Si vous savez que votre instruction aura pour effet de sélectionner des données redondantes et préférez n’afficher que des valeurs distinctes, vous pouvez utiliser le mot clé DISTINCT dans votre clause SELECT. Par exemple, supposons que chacun de vos clients représente des intérêts différents dont certains utilisent le même numéro de téléphone. Si vous souhaitez être certain de ne voir chaque numéro de téléphone qu’une seule fois, votre clause SELECT se présente comme suit :

SELECT DISTINCT [txtCustomerPhone]

Utiliser des noms de substitution pour des champs ou expressions : mot clé AS

Vous pouvez modifier l’étiquette qui s’affiche pour tout champ en mode Feuille de données en utilisant le mot clé AS et un alias de champ dans votre clause SELECT. Un alias de champ est un nom que vous attribuez à un champ dans une requête pour rendre les résultats plus lisibles. Par exemple, si vous voulez sélectionner des données d’un champ nommé txtCustPhone et que le champ contient des numéros de téléphone de clients, vous pouvez améliorer la lisibilité de vos résultats en utilisant un alias de champ dans votre instruction SELECT comme suit :

SELECT [txtCustPhone] AS [Customer Phone]

Remarque : Vous devez utiliser un alias de champ lorsque vous utilisez une expression dans une clause SELECT.

Sélectionner à l’aide d’une expression

Il se peut que vous vouliez examiner les calculs basés sur vos données ou n’extraire qu’une partie des données d’un champ. Par exemple, supposons que vous souhaitiez renvoyer l’année de naissance des clients sur la base des données figurant dans le champ BirthDate de votre base de données. Votre clause SELECT pourrait ressembler à ceci :

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Cette expression se compose de la fonction PartDate et de deux arguments : « aaaa » (constante) et [BirthDate] (identificateur).

Vous pouvez utiliser en tant que champ toute expression valide si l’expression produit une valeur unique en sortie quand elle reçoit un valeur unique en entrée.

Haut de la page

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.