Documentation
La documentation ci-dessous fait partie de la distribution de BeeBase. Elle est également disponible sous forme de PDF.
[ << ] | [ >> ] | [Sommaire] | [Table des matières] | [Index] | [ ? ] |
11. Tri
Pour chaque table de 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 | Si vous ne voulez pas classer vos enregistrements | |
11.2 Tri par champs | Classement facile en comparant les champs | |
11.3 Tri par fonction | Adapter le classement à ses besoins | |
11.4 Changer l'ordre | Comment indiquer un ordre | |
11.5 Retrier les enregistrements | S'ils sont en désordre |
11.1 Tri vide
Par défaut, chaque table nouvellement créée à un tri vide. Ce qui signifie que si vous saisissez un nouvel enregistrement, il est inséré à la position courante (c'est-à-dire après l'enregistrement sélectionné dans la table). Si vous changez les champs d'un enregistrement existant, la position de l'enregistrement dans la table reste inchangée.
11.2 Tri par champs
C'est parfois utile de trier les enregistrements avec certains champs, comme par exemple avec un champ `Nom' si la table en a un.
Dans BeeBase, pour chaque table, vous pouvez indiquer une liste de champs par lesquels ses enregistrements devraient être triés. Tous les enregistrements sont d'abord triés 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 l'ordre. Pour chaque champ vous pouvez indiquer si l'ordre des enregistrements triés est croissant ou décroissant.
Pour déterminer l'ordre 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 (ces valeurs 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 insensible à la casse)
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 pour le tri)
|
Si vous avez spécifié un tri pour une table, les enregistrements seront trié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 la précédente. 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, BeeBase est incapable de maintenir à tout moment le tri de vos enregistrements (pour plus de détails, voir Fonction de comparaison dans le chapitre de programmation de BeeBase).
Cependant, BeeBase offre également la possibilité d'indiquer une fonction de comparaison pour trier vos enregistrements. Vous pouvez indiquer n'importe quelle fonction que vous avez écrite en utilisant l'éditeur de programme de BeeBase. La fonction sera appelée 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 Fonction de comparaison.
Si vous décidez d'employer une fonction de comparaison pour trier une table, veuillez noter que BeeBase ne peut pas toujours détecter lorsque les enregistrements de la table doivent être triés à nouveau puisque les dépendances sont inconnues. Utilisez le menu `Table - Réorganiser tous les enregistrements' lorsque les enregistrements ne sont pas triés.
11.4 Changer l'ordre
Pour spécifier un tri, sélectionnez le champ de la table courante `Table - Changer le tri'. Une fenêtre s'ouvre contenant :
- Le nom de la table, dans le titre de la fenêtre.
- Une champ `Type' de tri 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 champs suivants.
Pour un tri utilisant une liste de champs, les champs suivants sont disponibles :
- 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 ce nom sera inséré dans la liste de tri (à la position courante 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 glissant sur d'autres positions de la liste.
Pour ajouter d'autres champs, glissez-les de la liste des champs à la liste de tri.
Vous pouvez enlever un champ de la liste de tri en glissant son nom hors de la liste de tri
et en le déposant sur la liste des champs.
Chaque entrée dans la liste de tri a un symbole à sa gauche avec une flèche se dirigeant vers le haut ou vers le bas. 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 utilisant une liste de champs, les champs suivants sont disponibles :
- Un champ `Fonction de comparaison d'enregistrements'
où vous pouvez entrer le nom de la fonction qui devraient être appelée
pour comparer deux enregistrements de la table.
Vous pouvez utiliser le bouton menu à la droite du champ
`Fonction de comparaison d'enregistrements' pour choisir un nom
dans la liste de toutes les fonctions.
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 Fonction de comparaison.
En outre, les boutons suivants existent :
- Un bouton `Effacer' qui désactive le tri (en oubliant la liste des champs).
- Deux boutons `Ok' et `Annuler' pour quitter la fenêtre.
Pour entrer un nouveau champ dans la liste de tri, choisissez le `Type' `Liste des champs' et appuyez sur le bouton `Effacer'. Utilisez alors le glisser/déposer comme décrit ci-dessus pour définir une nouvelle liste de champs. Si vous voulez pas de tri, il suffit juste de ne pas ajouter de champs dans la liste.
Quand vous avez spécifié l'ordre de tri, appuyez sur le bouton `Ok'. BeeBase réorganisera alors 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 utiliser le 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 30 Septembre 2024 par texi2html