Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : MUIbase - Ordre et tris
(Article écrit par Steffen Gutmann et extrait de muibase.sourceforge.net - mars 2006)
|
|
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.
Tri vide
Par défaut, chaque table nouvellement créée a 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.
Tri par champs
C'est parfois utile pour assortir les enregistrements avec certains
champs, comme avec un 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 :
- Integer Choice : NIL < MIN_INT < ... < -1 < 0 < 1 < ... < MAX_INT
(les valeurs choisies sont traitées comme des nombres entiers)
- Real : NIL < -HUGE_VAL < ... < -1.0 < 0.0 < 1.0 < ... < HUGE_VAL
- String Memo : NIL < "" < ... < "a" < "AA" < "b" < ...
(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 classés automatiquement à chaque fois que vous ajouterez un
nouvel enregistrement ou que vous changerez un champ utilisé dans le
tri d'un enregistrement.
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 le chapitre "10. Fonctions de comparaison"
de l'article sur la
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 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 le
chapitre "10. Fonctions 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 le menu "Table - Réorganiser tous les enregistrements"
lorsque les enregistrements ne sont pas triés.
Changer le tri
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.
- Le 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 son 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 de champ à 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 son disponibles :
- Un champ "Fonction de comparaison d'enregistrement" 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'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 see fonction de comparaison.
En outre, les boutons suivants existent :
- Un bouton "Effacer" qui enlève tous les champs pour pas trier.
- 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 définir
une nouvelle liste de champs. Si vous voulez avoir un tri vide, 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".
MUIbase réorganisera alors tous les enregistrements de la table.
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.
|