Développement d'applications

avec une base de données

Les requêtes avec Access

Module précédent

Définition

Requête ou filtre = sélection de certains enregistrements en fonction de critères de recherche.

Pourquoi?

Les tables contiennent souvent plus de 100 000 enregistrements. Trouvez un enregistrement en particulier représente une perte de temps.

Méthodologie pour les filtres

Dans l'entête de la colonne, cliquez sur la flèche. Access vous offre un menu pour sélectionner certaines données. Vous pouvez choisir plus d'un critères, en ajoutant des critères sans effacer le précédent.

De plus, pour choisir avec plusieurs critères, dans la zone Filtre, cliquez sur "Options avancées". Access vous offre de filtrer par formulaire. Vous pouvez alors choisir des critères pour plusieurs champs simultanément.

Les filtres ne se conservent pas en mémoire. Pour les conserver, il faut faire une requête. Les requêtes fonctionnent comme les filtres avancés, mais elles se conservent comme des tables.

Exercices: faites les numéros 1 à 5 de l'exercice 250.

Méthodologie pour les requêtes

2 méthodes : code de programmation SQL / en mode d'aide graphique

Code de programmation SQL

C'est le mode utilisé par les programmeur pour se connecter à une base de données sur un réseau et/ou afficher les résultats de la requête d'une façon non standard. Cette méthode est aussi disponible dans Access.

Aide graphique en mode "Création de requête"

Pour les non-programmeurs, Access offre des icônes qui guident l'utilisateur afin de créer une requête. Ce mode affiche les tables disponibles.

Pour chaque champ, on choisit;

  1. s'il sert à la sélection;
  2. si on le fait afficher;
  3. l'ordre de tri
  4. les critères de sélection.

Remarque: on peut choisir tous les champs d'un seul coup en utilisant "*".

Présentation du Générateur d’expressions

Présentation par Microsoft

Fonctions

La syntaxe des fonctions est la suivantes:

<NomFonction>(<paramètre 1> ;<paramètre2 >;etc)

Access trouve la fonction <NomFonction> et il lui donne le paramètres entre les parenthèses.

La fonction utilise les paramètres passés par Access, elle effectue son calcul, et elle retourne à Access le résultat de son calcul.

Access remplace la fonction par son résultat. Si une fonction est dans les parenthèses d'une autre fonction, son résultat est placé entre parenthèses et on refait le même processus avec la fonction la plus externe.

Fonctions les plus utilisées

Dans le cadre de notre cours, nous utiliserons surtout les fonctions suivantes:

Opérateurs

Les critères peuvent contenir des opérateurs comme pour les "valide si":

Pour des critères multiples, on doit procéder comme pour une équation mathématiques. Par exemple, pour faire

((Nom = Moore et Prenom = Demi) ou (Nom = Mendes et Prenom = Eva)) et (sexy = vrai)

il faut entrer:

"Moore Demi vrai" dans les colonnes appropriées sur une ligne critère et

"Mendes Eva vrai" dans les colonnes appropriées sur une autre ligne critère.

Pour effectuer un tri

Exercices: faites les numéros 6 et 7 de l'exercice 250.

Connexion à la table

Une requête ne contient aucune donnée. Elle fait seulement de l'affichage du contenu de la table. Cependant, elle demeure connectée à la table:

Mode d'affichage

Dès qu'on a plus d'un type d'objet, il est parfois avantageux de les faire afficher par type plutôt que par tables. Cliquez dans la partie de gauche de la fenêtre ("Tous les objets Access") pour changer le mode d'affichage.

Requêtes complexes

On peut utiliser Access pour faire des calculs simples. Les fonctions d'Access sont beaucoup plus rudimentaires que celles d'Excel mais peuvent malgré tout offrir un certain support.

Calcul pour un enregistrement

Pour faire un calcul à chaque enregistrement, on se met en mode Création de requête, on choisit une colonne vide, et on ajoute <NomCalcul> : [<nomChamp>] <opération> [<nomChamp>]

Exemple: pour calculer un montant d'achat, si on a un champ qte et un champ prix, on fait:

Montant: [qte]*[prix]

Calcul à travers les enregistrements

On peut avoir à créer des requêtes qui regroupe certaines données:

2 méthodes:

En mode création, on clique le bouton Totaux, ce qui fait apparaître la ligne "Opérations". On peut alors choisir l'opération désirée.

Remarque: Il faut comprendre qu'Access prendra plusieurs enregistrements et tentera d'en faire un seul. L'opération "regroupement" signifie que tous les enregistrements semblables pour les champs en question seront regroupés sous une seule ligne. Si une valeur change dans un champ "regroupement", Access les présentera sur une autre ligne et ne les regroupera pas. Pour les champs où les valeurs changent, mais que l'on veut regrouper, il faut fournir une fonction de qui permet à Access de ne donner qu'une seule valeur à partir de plusieurs: faire la moyenne, faire le total, trouver le minimum, trouver le maximum, etc.

Une des opérations possibles est l'opération "où" ("where" en anglais). Elle nécessite obligatoirement l'ajout d'un critère. Cette opération fera qu'Access exécutera en premier lieu un scan des enregistrements et qu'il éliminera les enregistrements ne respectant pas le(s) critère(s). Dans un second temps, Access regroupera les enregistrements restants selon les groupes demandés pour les autres champs.

Exercices: faites les numéros 8 à 19 de l'exercice 250.

Module suivant