MUIbase Support This Project
programmable relational database
with graphical user interface
This page is also available in deutsch english

Documentation

La documentation ci-dessous fait partie de la distribution de MUIbase. Elle est également disponible sous forme de PDF.


[ << ] [ >> ]           [Sommaire] [Table des matières] [Index] [ ? ]

11. Ordre

Pour chaque table dans votre base de données vous pouvez indiquer dans quel ordre les enregistrements devraient être affichés. Ce chapitre décrit comment spécifier un tri et quelles conséquences il a.


11.1 Tri vide

Par défaut, chaque table crée récemment à un tri vide. Ce qui signifie que si vous écrivez un nouvel enregistrement, l'enregistrement créé est inséré à la position actuelle (c'est-à-dire, derrière l'enregistrement courant de la table). Si vous changez quelques champs d'un enregistrement, la position de l'enregistrement dans la table reste inchangée.


11.2 Tri par champs

C'est parfois utile pour assortir les enregistrements avec certains champs, comme par exemple avec le champ `Nom' si la table en a un.

Dans MUIbase, pour chaque table, vous pouvez indiquer une liste de champs par lesquels ses enregistrements devraient être assortis. Tous les enregistrements sont d'abord assortis avec le premier champ de cette liste Si deux enregistrements sont équivalents pour un champ, c'est le champ suivant dans la liste qui déterminera le tri. Pour chaque champ vous pouvez indiquer si les enregistrements assortis sont croissants ou décroissants.

Pour déterminer le tri des champs, les règles de la table suivante sont utilisées :

 

Type        Relation d'ordre  

Integer     NIL < MIN_INT < ... < -1 < 0 < 1 < ... < MAX_INT
Choice      (les valeurs choisies sont traitées comme des nombres entiers)            

Real        NIL < -HUGE_VAL < ... < -1.0 < 0.0 < 1.0 < ... < HUGE_VAL

String      NIL < "" < ... < "a" < "AA" < "b" < ...   
Memo        (la comparaison d'une chaîne est un cas insensible)

Date        NIL < 1.1.0000 < ... < 31.12.9999

Time        NIL < 00:00:00 < ... < 596523:14:07

Bool        NIL < TRUE

Reference   NIL < any_record    
            (les enregistrements ne sont pas comparables entre eux par le tri)

Si vous avez spécifié un tri pour une table, les enregistrements seront classés automatiquement à chaque fois que vous ajouterez un nouvel enregistrement ou que vous changerez un champ utilisé dans le tri d'un enregistrement.


11.3 Tri par fonction

Il est parfois utile d'avoir une commande de tri plus complexe qu'une simple liste de champs comme celle décrite dans la dernière section. Par exemple, une liste de champs ne peut pas contenir des champs de type Référence, il n'est donc pas possible de trier vos enregistrements selon un champ Référence. Pour la bonne et simple raison qu'avec les champs de type référence, MUIbase est incapable de maintenir à tout moment le tri de vos enregistrements (pour plus de détails, voir la voir Fonction de comparaison dans le chapitre de programmation de MUIbase).

Cependant, MUIbase offre également la possibilité d'indiquer une fonction de comparaison pour assortir vos enregistrements. Vous pouvez indiquer n'importe quelle fonction que vous avez écrite en utilisant l'éditeur de programme de MUIbase. La fonction appellera et se positionnera sur les deux enregistrements avant de retourner la valeur que devrait refléter le tri des deux enregistrements. La fonction peut employer toutes les opérations pour comparer les enregistrements, ainsi elle peut par exemple comparer des enregistrements en utilisant des champs de référence. Pour plus d'information sur ce mécanisme, voir la voir fonction de comparaison.

Si vous décidez d'employer une fonction de comparaison pour trier une table, veuillez noter que MUIbase ne peut pas toujours détecter lorsque les enregistrements de la table doivent être triés à nouveau puisque les dépendances sont inconnues.

Utilisez l'article du menu `Table - Réorganiser tous les enregistrements' lorsque les enregistrements ne sont pas triés.


11.4 Changer le tri

Pour spécifier un tri, sélectionnez l'article de la table courante `Table - Changer le tri'. Ce qui ouvrira une fenêtre contenant

  • Le nom de la table, dans le titre de la fenêtre.
  • Le choix du champ `Type' où vous indiquez si la table doit être triée en utilisant une `liste des champs' ou en utilisant une `fonction de comparaison'. Selon le `Type' choisi, vous pouvez saisir des données dans les articles suivants.

Pour un tri en utilisant une liste de champs, les articles suivants existent :

  • Une liste de tous les champs de la table pouvant être employés dans la liste de tri. Cette liste est placée dans la partie gauche de la fenêtre. Si vous double-cliquez sur un nom alors le nom sera inséré dans la liste de tri (à la position actuelle du curseur).
  • La liste courante des champs utilisés pour le tri. Cette liste est placée dans la partie droite de la fenêtre. L'article situé en haut de cette liste est le premier champ de la liste de tri. Vous pouvez réarranger les articles en les traînant sur d'autres positions de la liste. Pour ajouter d'autres champs, traînez-les de la liste de champ à la liste de tri. Vous pouvez enlever un champ de la liste de tri en traînant l'article hors de la liste de tri et en le laissant tomber sur la liste de champ.

    Chaque entrée dans la liste de tri a un symbole avec une flèche se dirigeant vers le haut ou vers le bas du côté gauche. Vous pouvez changer l'état de la flèche en la double-cliquant. Si une flèche se dirige vers le haut le tri pour ce champ sera ascendant, si elle se dirige vers le bas, il sera descendant.

Pour un tri en utilisant une fonction de comparaison, il y a l'article suivant :

  • Un champ `Fonction de comparaison d'enregistrement' où vous pouvez entrer le nom de la fonction qui devraient être appelé pour comparer deux enregistrements de la table. Vous pouvez utiliser le bouton menu à la droite du champ `Fonction de comparaison d'enregistrement' pour choisir un nom dans la liste de tous les noms de fonction. Si vous laissez le champ vide, il n'y aura pas de tri. Pour plus d'information sur la façon d'employer une fonction de comparaison, y compris les arguments qui lui sont passés, voir la voir fonction de comparaison.

En outre, les boutons suivants existent :

  • Un bouton `Effacer' qui enlève tous les champs pour ne pas faire de tri.
  • Deux boutons `Ok' et `Annuler' pour quitter la fenêtre.

Pour entrer un nouveau champ dans le classement de la liste, choisissez le `Type' `Liste des champs' et appuyez sur le bouton `Effacer'. Utilisez alors le glisser/déposer comme décrit ci-dessus pour accumuler une nouvelle liste de champs. Si vous voulez avoir un tri vide, il suffit juste de ne pas ajouter de champs dans le tri de la liste.

Quand vous avez spécifié le tri, appuyez sur le bouton `Ok'. MUIbase réorganisera alors à nouveau tous les enregistrements de la table.


11.5 Réordonner tous les enregistrements

Si vous pensez que certains enregistrements d'une table ne sont plus triés, par exemple en utilisant une fonction de comparaison pour le tri, alors vous pouvez choisir l'article du menu `Table - Réordonner tous les enregistrements' pour trier tous les enregistrements.


[ << ] [ >> ]           [Sommaire] [Table des matières] [Index] [ ? ]

Ce document a été généré le 11 Septembre 2016 par texi2html