• Aucun résultat trouvé

REQUETES ACTION EN MODE CREATION

INDICATIONS PRELIMINAIRES

CHAPITRE 12 – REQUETES ACTION

1. REQUETES ACTION EN MODE CREATION

Il existe quatre types de requêtes action.

Le premier type est « Création de table ». Les trois autres types de requêtes, « Mise à jour », « Ajout » et « Suppression », concernent les enregistrements.

Principe de création d’une requête action

- On affiche une requête sélection en mode Création.

- Puis on transforme cette requête sélection en requête action : à l’onglet Créer des

« Outils de requête », on active l’un des boutons du groupe « Type de requête ».

Transformée en requête action, le nom de la requête apparaît dans le Volet de navigation avec un point d’exclamation noir et une icône indiquant son type.

Affichage et exécution

Avant d’exécuter une requête action, on peut visualiser son action en mode Feuille de données : cliquez sur le bouton « Affichage » (onglet Créer des « Outils de requête »).

Pour exécuter la requête action : retournez si nécessaire en mode Création (clic droit sur l’onglet de la requête > Mode Création), et cliquez sur le bouton « Exécuter ».

Il se peut qu’une macro d’Access empêche la création d’une requête action.

Si en dessous du ruban, apparaît le message : « Avertissement de sécurité – Du contenu de la base a été désactivé », suivi d’un bouton « Options » :

Cliquez sur le bouton « Options », cochez « Activer ce contenu », validez. La requête sélection, devenue requête action, s’affiche dans le Volet de navigation.

Création de table

On a créé une requête sélection, et on souhaite créer une table analogue à son résultat.

Une requête de type « Création de table » permet de créer cette table.

Exemple

On utilisera la table PEINTRE définie au chapitre 7.

Nous réaliserons la requête de sélection qui renvoie les peintres de numéros 1 à 10, ni grecs et ni allemands. Seront affichés les numéros, les noms et les nationalités des peintres.

Puis nous créerons une table analogue au résultat de la requête.

1) En mode Création, réalisez la requête sélection : Affichez la table PEINTRE.

Affichez le champ NoPeintre. Sur sa ligne « Critères », tapez : entre 1 et 10.

Affichez le champ NomPeintre.

Affichez le champ Nationalite. Sur sa ligne « Critères », tapez : pas grec et pas allemand.

Laissez cochées les trois cases de la ligne « Afficher ».

Enregistrez la requête.

2) Transformez la requête sélection en requête action de type « Création de table » : - Affichez la fenêtre « Création de table » : à l’onglet Créer des « Outils de

requête », dans le groupe « Type de requête », activez le bouton « Création de table ».

- Dans la fenêtre « Création de table », saisissez un nom. Validez.

3) Affichage et exécution :

- Si vous le souhaitez, affichez d’abord le résultat de la requête action. Puis repassez en mode Création pour exécuter la requête.

- Exécutez la requête sélection en activant le bouton « Exécuter ».

La nouvelle table apparaît dans le Volet de navigation.

Si on modifie cette requête action (par exemple, en ajoutant sur le champ AnneeNaissance le critère : < 1500), puis si on l’exécute à nouveau, la table sera modifiée en conséquence. Testez.

Modification des enregistrements d’un champ : requête de type « Mise à jour »

On a utilisé précédemment la fenêtre « Rechercher et remplacer » pour remplacer une chaîne de caractères dans une feuille de données (cf. chapitre 4 § 1 « Rechercher et remplacer une chaîne de caractères »).

Une requête de modification des enregistrements permet de remplacer la valeur d’un champ par une autre valeur. Les valeurs d’un seul champ peuvent être modifiées.

Exemple

On utilisera la table PEINTRE définie au chapitre 7.

On souhaite remplacer dans les enregistrements de cette table la nationalité

« néerlandais » par la nationalité « hollandais ».

1) En mode Création, réalisez la requête sélection.

Affichez le champ Nationalite de la table PEINTRE. Enregistrez la requête.

2) Transformez la requête sélection en requête action de type « Mise à jour » : à l’onglet Créer des « Outils de requête », dans le groupe « Type de requête », activez le bouton « Mise à jour ».

Dans la grille de création de la requête action, la ligne « Afficher » a été remplacée par la ligne « Mise à jour ».

3) Indiquez les modifications à effectuer :

A la ligne « Critères » du champ Nationalite, saisissez la valeur à modifier : néerlandais.

A la ligne « Mise à jour » du même champ, saisissez la nouvelle valeur : hollandais.

4) Affichage et exécution :

- Si vous le souhaitez, affichez d’abord la requête. Elle présente la table des enregistrements qui seront modifiés (dans l’exemple : les enregistrements

des peintres de nationalité néerlandaise). Repassez en mode Création pour exécuter la requête.

- Exécutez la requête.

Ouvrez la table PEINTRE, vérifiez que la mise à jour a bien été effectuée.

On peut se servir de la requête action pour effectuer de nouvelles modifications.

Exemple : Modifiez la table PEINTRE pour obtenir à nouveau la table d’origine : - Ouvrez la requête action en mode Création.

A la ligne « Critères», tapez hollandais.

- A la ligne « Mise à jour », tapez néerlandais.

- Exécutez la nouvelle requête action.

Ajout d’enregistrements

Une requête ajout d’enregistrements permet d’ajouter des enregistrements en provenance d’une autre table, en fonction de critères définis.

Exemple

On utilisera la table TABLEAU définie au chapitre 7.

On souhaite lui ajouter les tableaux nos 7, 8 et 9 provenant de la table AUTRETAB.

Pour tester l’exemple, nous vous invitons à créer une nouvelle table, nommée

AUTRETAB, contenant uniquement les trois enregistrements. Enregistrez, puis fermez la table.

NoTableau NomTab Bois/Toile DateTab NoPeintre NoMusee

(…) (…) (…) (…) (…) (…)

7 Le Téméraire toile 1838 15 15

8 La Pie toile 1869 16 13

9 Les Baigneuses toile 1918 17 13

(…) (…) (…) (…) (…) (…)

1) Créez une requête de sélection.

Sélectionnez en première colonne tous les champs de la table AUTRETAB en cliquant sur AUTRETAB.*.

Colonne suivante, affichez le champ NoTableau. Sur sa ligne « Critères », tapez : 7 ou 8 ou 9 (il y a trop peu d’enregistrements pour utiliser les opérateurs < ou >, même si c’est possible). Décochez sa case « Afficher », la case de la précédente colonne affichant tous les champs (donc NoTableau), étant cochée.

Enregistrez la requête.

2) Transformez la requête en requête action de type « Ajout ».

- Affichez la fenêtre « Ajout » : à l’onglet Créer des « Outils de requête », dans le groupe « Type de requête », activez le bouton « Ajout ».

- Renseignez la zone de saisie : « Ajouter à » : ouvrez le menu déroulant  et sélectionnez la table TABLEAU. Validez.

3) Dans la grille de création de la requête action, la ligne « Afficher » est remplacée par la ligne « Ajouter à ».

Excepté en 1ère colonne où sont précisés tous les champs (TABLEAU.*), ne laissez aucun nom de champ sur cette ligne. Il ferait double emploi, et l’ajout ne pourrait pas se faire, le message d’erreur « Destination de sortie (nom du champ) répliquée » s’affichant alors.

Sur cette ligne, supprimez donc le champ NoTableau (déjà présent en 1ère colonne).

4) Affichage et exécution :

- Si vous le souhaitez, affichez d’abord la requête. Elle affichera la table des enregistrements qui seront ajoutés (dans l’exemple : les enregistrements des tableaux nos 7, 8 et 9). Repassez en mode Création.

- Exécutez la requête.

Ouvrez la table TABLEAU. Vérifiez que les tableaux nos 7, 8 et 9 ont bien été ajoutés.

Suppression d’enregistrements

Une requête de suppression d’enregistrements permet de supprimer des enregistrements en fonction de critères définis.

Exemple :

On utilisera la table TABLEAU définie au chapitre 7.

Au préalable, vous pouvez copier la table pour sauvegarder la table originale.

On souhaite supprimer de la table TABLEAU tous les tableaux sur bois, ainsi que tous les tableaux réalisés entre 1700 et 1800.

1) Créez la requête sélection qui sélectionne les enregistrements à effacer :

Affichez le champ Bois/Toile. A la ligne « Critères » de ce champ, tapez bois.

Affichez le champ DateTab. Sur la ligne suivante de la zone de critères, tapez : entre 1700 et 1800 (les tableaux supprimés sont sur bois Ou réalisés entre 1700 et 1800).

2) Transformez cette requête en requête action de type « Suppression » : à l’onglet Créer des « Outils de requête », dans le groupe « Type de requête », activez le bouton « Suppression ».

Dans la grille de création, la ligne « Afficher » est remplacée par la ligne

« Supprimer ». Dans le cas présent, laissez le « Où ».

3) Il est prudent dans ce type de requête d’activer le bouton « Affichage », avant d’exécuter la requête. L’annulation des enregistrements est en effet définitive. Sont affichés les enregistrements qui seront supprimés à l’exécution de la requête action.

Exécutez la requête.

Ouvrez la table TABLEAU. Vérifiez que les tableaux sur support bois ont bien été supprimés.

On peut utiliser à nouveau la requête action pour supprimer d’autres enregistrements, en appliquant de nouveau critères.