• Aucun résultat trouvé

PIÈCES JOINTES-ATTACHMENT

4.11 Tris et filtres

Triez la table tblArticles dans l'ordre croissant des tblDesignation d'articles.

Filtrez ensuite avec un "filtre par sélection", tous les articles avec le numéro de fournisseur 3 (cliquer dans la cellule avec la valeur 3 et aller dans le menu Enregistrements/Filtre/Filtrer par sélection). Désactivez ensuite le filtre en allant dans le menu Enregistrements/Afficher Tous les enregistrements ou en cliquant sur l'icône de filtre.

Filtrez tous les articles qui ont un prix supérieur à 50.- (placer le curseur dans la colonne qui doit servir de tri, menu contextuel Filtrer Pour et saisissez >50)

Il y a plusieurs méthodes pour définir des critères qui utilisent des symboles bien spécifiques à Access. Il est important de bien les comprendre, car ils sont utiles lors de la création de filtres et de requêtes!

Attention!!! Certaines des critères ci-dessous ne fonctionnent que dans des requêtes et pas dans des filtres par sélection.

4.11.1 Critères numériques et textes

> | >= | <> | <= | >=

4.11.2 Critères numériques et dates

K*

Tous les enregistrements dont le contenu du champ spécifié commence par la lettre K COMME M?ier

LIKE M?ier

Tous les enregistrements dont le contenu du champ spécifié est du type Maier, Moier,…) le ? représente un caractère unique, selon les besoins on écrirait: M*ier

#07.07.2002#

Tous les enregistrements dont le contenu du champ spécifié correspond à la date 07.07.2002.

Les # ne sont pas obligatoires.

4.11.3 Caractères génériques (wildcards)

Attention! Si quelqu'un a activé l'option de compatibilité SQL ANSI 92 dans les options avancées de MS Access la plupart des commandes ci-dessous ne fonctionneront pas.

*#

Tous les enregistrements dont le contenu du champ spécifié se termine par un chiffre.

COMME Du[pli]rex LIKE Du[pli]rex

Tous les enregistrements dont le contenu du champ spécifié contient entre les lettres Du et rex d'autres caractères, tels que Duprex, Dulrex, Duirex… (vous pouvez choisir le nombre de lettres entre crochets)

COMME Dupon[!t]

LIKE Dupon[!t]

Tout ce qui commence par Dupon mais qui ne finit pas avec la lettre t.

COMME Du[p-z]

LIKE Du[p-z]

Tous les enregistrements dont le contenu du champ spécifié se termine par Duprex, Durant..,

la première lettre du terme souligné restant compris entre p et z

>="D"

Tous les enregistrements dont le contenu du champ spécifié commence avec les lettres D à Z

>3 ET <7

>3 AND <7

Tous les enregistrements dont le contenu des champs est compris entre les deux valeurs spécifiées. Il est donc possible d'utiliser des structures logiques

"A*" OU >"C*"

"A*" OR >"C*"

Tous les enregistrements qui commencent par A ou par un caractère plus grand que C (attention Ca…, Cb… Ch seront compris dedans étant plus grands que C)

<>"G*"

Tous les enregistrements sauf ceux commençant par la lettre G NOT IN ("France";"Allemagne")

PAS ("France";"Allemagne")

Tous les enregistrements qui ne sont ni en Allemagne ni en France

"K*" OU "L*"

"K*" OR "L*"

Tous les enregistrements commençant soit par la lettre K, soit par la lettre L

4.11.4 Fonctions génériques

Pour exprimer des critères dans l'option Filtrer Pour, nous pouvons aussi utiliser des fonctions, mais ces dernières sont spécifiques à la fois du SGBDR et du type de données du champ considéré. Citons quelques exemples classiques:

NbCar([Nom])="4"

Len([Nom])="4"

Retrouve tous les noms de 4 caractères Droite([Nom];2)="se"

Right([Nom];2)="se"

Retrouve les nom se terminant par "se"

Gauche([Nom];2)="du"

Left([Nom];2)="du"

Retrouve les noms commençant par "du"

ExtracChaine([Nom];2;3)="ach"

Mid([Nom];2;3)="ach"

Retrouve le nom "Machin", lequel contient la chaîne de trois caractères "ach" en commençant au deuxième caractère.

PartDate("aaaa";[datCommande])=2000 DatePart("yyyy";[datCommande])=2000

Retrouve les commandes de l'année 2000. Cette fonction opère aussi (en français) avec "j"

pour le jour, "m" pour le mois, et "t" pour l trimestre.

DiffDate("j";[datCommande];[datLivraison])>100 DateDiff("d";[datCommande];[datLivraison])>100

Retrouve les produits qui ont été livrés plus de 100 jours après avoir été commandées. Cette fonction opère aussi (en français) avec "j" pour le jour, "m" pour le mois, et "t" pour l trimestre.

Jour([datCommande])=12 Day([datCommande])=12

Retrouve les commandes effectuées le 12 (des mois présents dans la table). La même écriture est valable avec Mois/Month et Année/Year au lieu de Jour/Day.

4.11.5 Tris et filtres avancés

Maintenant, triez les données de la table tblVendeurs dans l'ordre croissant du nom des vendeurs, puis dans l'ordre décroissant des régions de ventes (Enregistrements/Filtrer/

Filtrage spécial).

Filtrer de façon à obtenir:

1. Tous les vendeurs de la région Nord

2. Tous les vendeurs qui ne sont pas attribués à la région Nord (attention, MS Access n'est pas "case sensitive")

3. Tous les Vendeurs des régions Nord ou Sud (ligne OU)

4. Tous les vendeurs ayant M ou C pour première lettre du nom et se situant dans la région Nord

Bien que l'on fasse rarement ainsi, sauvegardez ce filtre comme requête sous le nom Fichier-Requête en passant par le menu "Ficher/Enregistrer la requête". On verra plus tard, comment l'on procède traditionnellement pour créer des requêtes.

5. Tous les vendeurs de la région de vente Nord avec un numéro de vendeur supérieur ou égal à 4, triés dans l'ordre croissant du Nom Vendeur.

5 Relations (jointures)

La notion de relation est ce qu'il y a de plus important dans MS Access où dans tout SGBDR.

C'est ce qui fait de cette famille de logiciel leur toute puissance dans la gestion simple de bases de données plus ou moins complexes. Il est souvent très difficile d'en comprendre le principe, c'est pourquoi nous irons relativement lentement lors de l'étude de ce chapitre.

Remarque: Les relations ont une propriété sous-jacente qui se nomme la "jointure" - techniquement il existe trois types de jointures possibles pour une relation. Une relation a obligatoirement une des 3 jointures, d'où le fait que dans certains ouvrages, les auteurs ne n'utilisent par le terme "relation" car pas assez précis mais uniquement le terme "jointure".

Dans le présent le présent chapitre, nous ferons usage du terme "relation" pour signifier qu'implicitement il s'agit de "jointures équivalentes".

Il existe différentes types de relations dont voici la liste (nous en avons déjà fait mention lors de notre introduction au schéma ER page 25):

Documents relatifs