BeeBase

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

Dokumentation

Dokumentationen nedan ingår i BeeBase-distributionen och finns även tillgänglig i PDF.


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

10. Filter

Filter kan användas för att dölja poster. Detta kapitel beskriver vilka typer av filter som finns tillgängliga och hur man använder dem.

BeeBase känner till två typer av filter, postfilter och referensfilter.


10.1 Postfilter

Ett postfilter kan installeras i en tabell för att filtrera bort poster som inte är av intresse för dig. Poster som filtreras bort exkluderas i tabellmasken och användaren kan därför inte se eller bläddra till dem.


10.1.1 Filteruttryck

Ett filter definieras genom att ange ett boolskt uttryck som kan innehålla anrop till BeeBase-programmeringsfunktioner. För varje post i tabellen som filtret är specificerat för, utvärderas detta uttryck. Om det returnerar NIL filtreras posten bort, annars inkluderas den i tabellmasken.

Varje tabell kan ha sitt eget filteruttryck.


10.1.2 Ändra Filter

För att ändra filtret för den aktuella tabellen, välj menyalternativet `Tabell - Ändra filter'. Detta öppnar ett fönster som innehåller

När du är klar med specifikationen av filteruttrycket klicka på knappen `Ok' för att lämna fönstret. Det angivna uttrycket kompileras nu och vid lyckad kompilering utvärderas uttrycket för alla poster. De poster för vilka det boolska uttrycket inte gäller tas sedan bort i tabellmasken.

Om uttrycket inte kompilerar får du ett felmeddelande visat i fönstrets titelrad.

Ett filter kan slås på och av genom att klicka på knappen `F' i tabellens panel (om den är installerad). Efter att du har angett ett filteruttryck för en tabell aktiveras filtret för denna tabell automatiskt.

Om du (åter)aktiverar ett filter kontrolleras alla poster i tabellen om de matchar filtret eller inte.

Om ett filter är aktivt för närvarande och du ändrar ett (filterrelevant) fält i en post i denna tabell, beräknas inte matchningsfilterstatus för denna post om och förblir oförändrad.

Om du allokerar en ny post i en tabell med ett aktiverat filter kontrolleras inte om den nya posten matchar filtret och den nya posten får sin matchningsfilterstatus satt till TRUE.


10.1.3 Filterexempel

Här är några exempel på giltiga filteruttryck:

Observera att BeeBase programmeringsspråk använder en lisp-liknande syntax. För mer information om programmeringsspråket, se Programming BeeBase.


10.2 Referensfilter

Referensfält kan också ha ett filterbeteende. Detta är användbart t.ex. för att bygga en hierarki av tabeller. Som exempel se projektet `Albums'.

Om filtret för ett referensfält är påslaget aktiveras följande funktioner:

  1. Användaren kan endast komma åt poster i fältets tabell som har referensen inställd på den aktuella posten i den refererade tabellen.

  2. Om den refererade tabellen ändrar sin aktuella post söks också en ny aktuell post och ställs in för fältets tabell.

  3. Vid allokering av en ny post ställs referensen automatiskt in till den aktuella posten i den refererade tabellen.

Obs: Kaskaderad borttagning måste implementeras manuellt (genom att använda en utlösarfunktion för borttagning).

Använd inte referensfiltret på cykliska grafer, t.ex. självrefererande tabeller, eftersom det inte är särskilt meningsfullt.


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

This document was generated on September, 6 2025 using texi2html