BeeBase

Programmable relational database
with graphical user interface Support This Project
This page is also available in Deutsch English

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] [ ? ]

10. Filtre

Des filtres peuvent être utilisés pour masquer des enregistrements. Ce chapitre décrit les différents types de filtre disponibles et la façon de les utiliser.

BeeBase connaît deux types de filtres : les filtres d'enregistrement et les filtres de référence.


10.1 Filtre d'enregistrement

Un filtre d'enregistrement peut être positionné sur une table pour filtrer les enregistrements qui ne vous intéressent pas. Les enregistrements filtrés sont exclus de l'affichage de la fiche de table et par conséquent l'utilisateur ne peut ni les voir, ni les parcourir.


10.1.1 Expression de filtrage

Un filtre est défini en donnant une expression booléenne qui peut contenir des appels à des fonctions de programmation BeeBase. Pour chaque enregistrement de la table sur laquelle est spécifié le filtre, cette expression est évaluée. Si elle retourne NIL alors l'enregistrement est filtré, sinon l'enregistrement est inclus dans la fiche de table.

Chaque table peut avoir sa propre expression de filtrage.


10.1.2 Modifier les filtres

Pour modifier le filtre de la table courante, sélectionnez le menu `Table - Changer le filtre'. Cela ouvrira une fenêtre contenant :

Après avoir spécifié l'expression de filtrage, cliquez sur le bouton `Ok' pour quitter la fenêtre. L'expression saisie est alors compilée. En cas de compilation réussie, l'expression est appliquée à tous les enregistrements. Ceux pour qui l'expression booléenne n'est pas vérifiée sont retirés de l'affichage de la table.

Si l'expression ne compile pas, vous obtiendrez un message d'erreur dans la barre de titre de la fenêtre.

Un filtre peut être activé ou désactivé en cliquant sur le bouton `F' dans l'onglet de la table (si celui-ci est activé). Après la spécification d'une expression de filtrage sur une table, le filtrage de cette table est automatiquement activé.

Si vous (ré)activez un filtre alors tous les enregistrements de la table sont analysés pour vérifier s'ils répondent ou non au filtre.

Lorsqu'un filtre est activé et que vous changez la valeur d'un champ (employé dans le filtre) dans un enregistrement de cette table, la correspondance avec le filtre de cet enregistrement n'est pas réévaluée et reste inchangée.

Si vous allouez un nouvel enregistrement dans une table ayant un filtre actif, aucune vérification n'est faite sur le nouvel enregistrement quant à sa correspondance avec le filtre, il a son état de vérification automatiquement positionné à TRUE.


10.1.3 Exemples de filtre

Voici quelques exemples d'expression de filtrage valides :

Notez que le langage de programmation de BeeBase utilise une syntaxe similaire à celle de Lisp. Pour plus d'informations concernant le langage de programmation, voir Programmation de BeeBase.


10.2 Filtre de référence

Les champs de type référence peuvent également avoir un comportement de filtre. Cela est utile par exemple pour construire une hiérarchie de tables. Comme exemple voyez le projet `Albums'.

Si le filtre d'un champ Référence est activé alors les fonctionnalités suivantes le sont aussi :

  1. L'utilisateur ne peut accéder qu'aux enregistrements de la table pour lesquels la référence pointe sur l'enregistrement courant de la table référencée.

  2. Si la table référencée change d'enregistrement courant, un nouvel enregistrement courant est également recherché et activé dans la table du champ Référence.

  3. Lors de l'allocation d'un nouvel enregistrement, la référence est automatiquement positionnée à l'enregistrement courant de la table référencée.

Note: La suppression en cascade doit être implémentée manuellement (en utilisant un déclencheur de suppression).

N'utilisez pas les filtres de référence sur des graphes cycliques, p. ex. une table s'auto-référençant, car cela n'a pas beaucoup de sens.


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

Ce document a été généré le 30 Septembre 2024 par texi2html