[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

13. Traitement des données

Deux méthodes sont utilisables dans MUIbase pour le traitement des données : par programmation ou l'éditeur de requetes.

La méthode par programmation vous permet de créer des boutons dans les masques de tables qui, sur pression, appeleront des fonctions programmées. L'utilisation de cette méthode est décrite dans le chapître concernant l'éditeur de structure (voir Éditeur de structure) et dans le chapitre à propos de la programmation dans MUIbase (voir Programmation de MUIbase).

Ce chapitre décrit l'utilisation de l'éditeur de requêtes, une fenêtre où vous pouvez entrer des requêtes et consulter le résultat dans une fenêtre défilante.

13.1 Requêtes Select-from-where  A quoi ressemble une requête.
13.2 Éditeur de requêtes  Comment écrire et gérer vos requêtes.
13.3 Impression de requêtes  Options pour l'impression du résultat d'une requête.
13.4 Exemples de requêtes  Quelques exemples.


13.1 Requêtes Select-from-where

MUIbase utilise un systême de requête du type select-from-where comme dans les bases de données SQL. La requête vous permet d'afficher le contenu des enregistrements d'une ou plusieurs tables. Seuls les enregistrements qui correspondent à un certain critère se retrouvent dans le résultat. La syntaxe (incomplète) d'une reqête select-from-where est

 
SELECT exprlist FROM tablelist [WHERE test-expr]
[ORDER BY orderlist]
exprlist est une liste des expressions, séparées par des virgules, à afficher (souvent les noms d'attributs) ou une simple étoile * qui correspond à tous les attributs des tables spécifiées, tablelist est une liste de nom de tables, séparées par des virgules, desquelles les enregistrements sont examinés, test-expr est l'expression qui est testée pour chaque groupe d'enregistrements qui doit être inclu dans le résultat, et orderlist est une liste d'attributs, séparés par des virgules, qui déterminent l'ordre pour afficher le résultat. Notez que les champs WHERE et ORDER BY sont optionnels ; ce qui est indiqué par les crochets [].

Par exemple, la requête

 
SELECT * FROM table
affiche le contenu des attributs de tous les enregistrements de la table spécifiée.

 
SELECT attr1 FROM table WHERE (LIKE attr2 "*Madonna*")
affiche les valeurs du champ attr1 dans tous les enregistrements de table dans laquelle le contenu du champ attr2 contient le mot `Madonna'.

Pour plus d'informations à propos des requêtes select-from-where et notamment sa syntaxe complète, voir Programming MUIbase, pour plus d'exemples voir Query examples.


13.2 Éditeur de requêtes

Pour saisir et exécuter des requêtes, ouvrez l'éditeur de requêtes en sélectionnant le choix de menu `Program - Queries'. L'éditeur de requêtes peut gérer plusieurs requêtes mais une seule est est affichée. La fenêtre de l'éditeur de requêtes contient les éléments suivants :

L'éditeur de requête est non-modale. Cela signifie que vous pouvez laisser l'éditeur de requête ouvert alors que vous travaillez avec le reste de l'application. Vous pouvez à tout moment fermer l'éditeur de requête, en cliquant sur le bouton de fermeture sur la barre de titre.


13.3 Impression de requêtes

Après avoir exécuté une requête, vous pouvez imprimer le résultat dans un fichier ou sur une imprimante en cliquant sur le bouton `Imprimer' dans l'éditeur de requêtes. Cela ouvre une requête d'impression qui contient les éléments suivants:

Quand vous en avez terminé avec tous les paramètres, cliquez sur le bouton `Ok' pour lancer le travail d'impression.

La fenêtre d'impression peut aussi être utilisée pour exporter des enregistrements dans un fichier ASCII. Pour cela, précisez `Tabulations' (ou `Personnalisé') dans le champ `Délimiteur', mettez à 0 le nombre d'espaces dans le champ `Indentation', cochez `Entête', décochez `Codes d'échappement' pour supprimer les paramètres de police, taille et séquence d'initialisation, éventuellement cochez `Guillemets' si vous voulez que les champs soient entourés de guillemets, cochez `Rien' dans le champ `Après impression', et entrez un nom de fichier dans le champ `Sortie'. Il se peut qu'utiliser l'éditeur de requête avec la fenêtre d'impression soit plus puissant pour exporter des enregistrements que la fonction import/export de MUIbase (voir Import et Export). C'est dû au fait que n'importe quelle requête peut être utilisée dans l'éditeur alors que la fenêtre d'export utilise seulement une requête fixe.


13.4 Exemples de requêtes

Voici plusieurs exemples de requêtes pour vous donner une idée de la puissance des requêtes select-from-where.

Supposez que nous ayons deux tables `Personne' et `Chien'. `Personne' a les attributs suivants : `Nom', un attribut entier `Age', et deux attributs de référence `Père' et `Mère' qui se réfèrent aux enregistrements père et mère de la table `Personne'. La table contient les enregistrements suivants :

 
      Nom       Age      Père  Mère
      --------------------------------
p1:   Steffen    26     p2      p3
p2:   Dieter     58     NIL     NIL
p3:   Marlies    56     NIL     NIL
p4:   Henning    57     NIL     NIL

`Chien' a un attribut texte `Nom', un attribut de type choix `Couleur' et un attribut de référence `Propriétaire' qui se réfère au propriétaire dans la table `Personne'. La table contient les enregistrements suivants :

 
      Nom      Coleur   Propriétaire
      -----------------------
d1:   Boy       blanc   p3
d2:   Streuner  gris    NIL

Avec ces données, on peut exécuter les requêtes select-from-where suivantes :

 
SELECT * FROM Personne
donne :

 
Name    Age  Père Mère
--------------------------
Steffen  26 Dieter Marlies
Dieter   58
Marlies  56
Henning  57

(Pour les attributs de référence le champ `Nom' de l'enregistrement référencé est affiché.)

 
SELECT Nom "Enfant", Age,
       Père.Nom "Père", Père.Age "Age",
       Mère.Nom "Mère", Mère.Age "Age"
FROM Personne WHERE (AND Père Mère)
donne :

 
Enfant   Age Père  Age Mère  Age
----------------------------------
Steffen  26 Dieter  58 Marlies  56

 
SELECT Nom, Couleur,
       (IF Propriétaire Propriétaire.Nom "Pas de propriétaire") "Propriétaire"
FROM Chien
donne :

 
Nom    Couleur  Propriétaire
------------------------
Boy      blanc  Marlies
Streuner gris   Pas de propriétaire

 
SELECT a.Nom, a.Age, b.Nom, b.Age FROM Personne a, Personne b
WHERE (> a.Age b.Age)
donne :

 
a.Nom  a.Age  b.Nom  b.Age
---------------------------
Dieter     58 Steffen    26
Marlies    56 Steffen    26
Henning    57 Steffen    26
Dieter     58 Marlies    56
Henning    57 Marlies    56
Dieter     58 Henning    57


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on May, 27 2010 using texi2html