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

14. Datahämtning

För datahämtning erbjuder BeeBase två sätt: programmeringsfunktionen och frågeredigeraren.

Programmeringsfunktionen låter dig installera knappar i tabellmasker som, när de trycks in, anropar programfunktioner. Användningen av denna funktion beskrivs i kapitlet om strukturredigeraren (se Structure editor) och i kapitlet om programmering av BeeBase (se Programming BeeBase).

Detta kapitel beskriver användningen av frågeredigeraren, en dialog där du kan ange frågor och visa resultatet i en rullande listvy.


14.1 Select-From-Where-Frågor

BeeBase erbjuder en select-from-where-fråga liknande den i SQL-databassystem. Frågan låter dig lista postinnehållet från en eller flera tabeller. Endast poster som matchar vissa kriterier inkluderas i utdata. Den (ofullständiga) syntaxen för en select-from-where-fråga är

 
SELECT uttryckslista FROM tabellista [WHERE test-uttryck]
[ORDER BY sorteringslista]

där uttryckslista är en kommaseparerad lista med uttryck som ska skrivas ut (vanligtvis fältnamnen) eller en enkel stjärna * som matchar alla fält i de angivna tabellerna, tabellista är en komma- separerad lista över tabeller vars poster undersöks, test-uttryck är uttrycket som testas för varje uppsättning poster som ska inkluderas i utdata, och sorteringslista är en kommaseparerad lista över fält som definierar ordningen för att lista utdata. Observera att WHERE- och ORDER BY-fälten är valfria, vilket anges av hakparenteserna [].

Till exempel frågan

 
SELECT * FROM tabell

listar fältinnehållet för alla poster i den angivna tabellen.

 
SELECT fält1 FROM tabell WHERE (LIKE fält2 "*Madonna*")

listar värdet av fältet fält1 i alla poster i tabell där innehållet i fältet fält2 innehåller ordet `Madonna'.

För mer information om select-from-where-frågan inklusive dess fullständiga syntax, se Programming BeeBase, för fler exempel se Query examples.


14.2 Frågeredigerare

För att ange och köra frågor, öppna frågeredigeraren genom att välja menyalternativet `Program - Frågor'. Frågeredigeraren kan hantera flera frågor, men endast en fråga visas åt gången. Frågeredigerarfönstret innehåller följande objekt:

Frågeredigeraren är en icke-modal dialog. Detta innebär att du kan lämna frågeredigeraren öppen och fortfarande arbeta med resten av applikationen. Du kan stänga frågeredigeraren när som helst genom att klicka på stängknappen i fönsternamnsraden.


14.3 Exportera Frågor som Text

Du kan exportera resultaten av en select-from-where-fråga till en textfil genom att trycka på knappen `Exportera'. Detta öppnar ett fönster som innehåller

Efter att du tryckt på knappen `Exportera' kommer BeeBase att öppna den angivna filen och skriva ut frågeresultatet inklusive en rubrikrad som innehåller listans rubrik. Fälten skrivs i ordningen av kolumnerna i listan.


14.4 Exportera Frågor som PDF

På Windows, Mac OS X, Linux och MorphOS kan du exportera frågeresultaten till en PDF-fil genom att trycka på knappen `PDF'.

Ett fönster öppnas som innehåller följande element:

Efter att ha tryckt på knappen `Skapa PDF' öppnar BeeBase den angivna filen och skriver ut frågeresultatet inklusive en rubrikrad som innehåller frågefältnamnen. Fälten skrivs i ordningen av kolumnerna i listan.


14.5 Skriva ut Frågor

Efter att du har kört en fråga kan du skriva ut resultatet genom att klicka på knappen `Skriv ut' i frågeredigeraren.

På Windows, Mac OS X och Linux öppnar detta standardutskriftsdialogen.

Om du kör GTK-versionen av BeeBase innehåller dialogen en anpassad sida `Typsnitt' där du kan ange ett typsnitt och aktivera förminskning av allt innehåll så att det passar in i sidbredden för det valda papperet och orienteringen. Efter att ha tryckt på knappen `Skriv ut' skickas frågeresultaten till den valda skrivaren.

På MorphOS öppnar knappen `Skriv ut' en liknande dialog som vid export av frågor som PDF (se Exporting queries as PDF).

Fönstret innehåller följande element:

Efter att ha tryckt på knappen `Skapa PDF' genererar BeeBase en temporär PDF-fil och öppnar den med den externa visaren (se External viewer). Du kan sedan använda utskriftsfunktionerna i den externa visaren för att skicka frågeresultaten till din skrivare.

På andra Amiga-system visas en utskriftsdialog som innehåller följande objekt:

När du är klar med alla inställningar, klicka på knappen `Ok' för att starta utskriftsjobbet.


14.6 Frågeexempel

För att ge dig en uppfattning om kraften i select-from-where-frågorna ger detta avsnitt dig några exempelfrågor.

Anta att vi har två tabeller `Person' och `Hund'. `Person' har ett strängfält `Namn', ett heltalsfält `Ålder', och två referens- fält `Far' och `Mor' som refererar till far- och morposterna i tabellen `Person'. Tabellen innehåller följande poster:

 
      Namn      Ålder   Far     Mor
      --------------------------------
p1:   Steffen    26     p2      p3
p2:   Dieter     58     NIL     NIL
p3:   Marlies    56     NIL     NIL
p4:   Henning    57     NIL     NIL

`Hund' har ett strängfält `Namn', ett valfält `Färg' och ett referensfält `Ägare' som refererar till ägaren i tabellen `Person'. Tabellen innehåller följande poster:

 
      Namn      Färg    Ägare
      -----------------------
d1:   Boy       vit     p3
d2:   Streuner  grå     NIL

Med dessa data kan följande exempel på select-from-where-frågor köras:

 
SELECT * FROM Person

ger resultatet:

 
Namn    Ålder Far    Mor
--------------------------
Steffen  26 Dieter Marlies
Dieter   58
Marlies  56
Henning  57

(För referensfälten skrivs fältet `Namn' för den refererade posten ut.)

 
SELECT Namn "Barn", Ålder,
       Far.Namn "Far", Far.Ålder "Ålder",
       Mor.Namn "Mor", Mor.Ålder "Ålder"
FROM Person WHERE (AND Far Mor)

ger resultatet:

 
Barn    Ålder Far    Ålder Mor    Ålder
----------------------------------
Steffen  26 Dieter  58 Marlies  56

 
SELECT Namn, Färg,
       (IF Ägare Ägare.Namn "Ingen ägare") "Ägare"
FROM Hund

ger resultatet:

 
Namn     Färg   Ägare
------------------------
Boy      vit    Marlies
Streuner grå    Ingen ägare

 
SELECT a.Namn, a.Ålder, b.Namn, b.Ålder FROM Person a, Person b
WHERE (> a.Ålder b.Ålder)

ger resultatet:

 
a.Namn  a.Ålder b.Namn  b.Ålder
---------------------------
Dieter     58 Steffen    26
Marlies    56 Steffen    26
Henning    57 Steffen    26
Dieter     58 Marlies    56
Henning    57 Marlies    56
Dieter     58 Henning    57


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

This document was generated on September, 6 2025 using texi2html