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 queries | Hur en fråga ser ut. | |
| 14.2 Query editor | Hur man anger och hanterar dina frågor. | |
| 14.3 Exporting queries as text | Exportera resultatet av en fråga som en textfil. | |
| 14.4 Exporting queries as PDF | Exportera resultatet av en fråga som en PDF-fil. | |
| 14.5 Printing queries | Skriv ut resultatet av en fråga. | |
| 14.6 Query examples | Några exempel. |
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:
- ett stränginmatningsfält med en tillhörande popup-knapp.
Det redigerbara strängfältet visar namnet på den aktuella frågan.
Genom att trycka på popup-knappen visas en lista med ytterligare frågenamn
tillsammans med flera knappar.
Du kan välja en av de listade frågorna för att göra den till den aktuella,
trycka på knappen `Ny' för att skapa en ny fråga,
trycka på knappen `Duplicera' för att få en kopia av den valda frågan,
klicka på knappen `Sortera' för att sortera listan över frågor,
eller trycka på knappen `Ta bort' för att ta bort den valda frågan.
För att lämna popup-fönstret utan att ändra något,
klicka på popup-knappen igen.
- ett valfält som låter dig tilldela frågan till en tabell.
När du tilldelar en tabell kör BeeBase denna fråga
när användaren väljer menyalternativet `Tabell - Visa alla poster' i den
motsvarande tabellen.
- en knapp `Kör' som kompilerar och kör frågeprogrammet
och visar utdata i utdatalistvyn.
- en knapp `Exportera' som öppnar en dialog
(se Exporting queries as text)
för att exportera frågeresultaten till en textfil.
- en knapp `PDF' (på de flesta system) som öppnar en dialog
(se Exporting queries as PDF)
för att exportera frågeresultaten till en PDF-fil.
- en knapp `Skriv ut' som öppnar en dialog (se Printing queries)
för att skriva ut resultaten.
- ett redigeringsfält för att ange frågeprogrammet.
Här anger du vanligtvis en select-from-where-fråga.
Det är dock också möjligt att ange vilket uttryck som helst
i BeeBase programmeringsspråk.
Detta kan vara användbart om du vill göra enkla beräkningar
eller uppdatera några fält i en tabell genom att använda ett enkelt program.
Observera att BeeBase automatiskt omger ditt programuttryck med
ett par parenteser, så du kan utelämna de yttersta.
- en listvy som visar utdata efter att ha kört den aktuella frågan. Utdata formateras i rader och kolumner. Titelraden innehåller fältnamnen för select-from-where-frågan (vanligtvis fältnamnen). De andra raderna innehåller frågeresultatet, en uppsättning poster per rad. Varje fält visas i sin egen kolumn. Genom att klicka på en kolumntitel kan du sortera listan med avseende på denna kolumn. Ett andra klick på samma kolumntitel vänder ordningen. På Amiga kan du ställa in en sekundär sortkolumn genom att hålla ner Shift-tangenten när du klickar på en titel. Om du dubbelklickar på en post i listan och posten genererades från en post visas denna post i motsvarande tabellmask. Detta erbjuder ett enkelt sätt att hoppa till en viss post i dess tabellmask.
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
- ett strängfält för att ange exportfilnamnet. Till höger om
detta fält hittar du en popup-knapp för att öppna en fildialog
för att välja filnamnet.
- två strängfält för att ange post- och fältavgränsare.
Du kan ange ett enstaka tecken eller en escape-kod genom att skriva
\n, \t, \f, \??? (oktal kod), eller
\x?? (hexadecimal kod).
- ett fält `Dubbla citattecken' som kan markeras för att ange
att fälten ska omges av dubbla citattecken.
- två knappar `Exportera' och `Avbryt' för att lämna fönstret.
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:
- ett strängfält för att ange exportfilnamnet. Till höger om
detta fält hittar du en popup-knapp för att öppna en fildialog
för att välja filnamnet.
- ett valfält för att välja pappersstorlek.
- ett valfält för att ange orientering
(`Stående' eller `Liggande').
- ett fält för att ange typsnittsnamn och storlek.
På Windows, Mac OS X och Linux kan du trycka på popup-knappen till höger
för att välja ett typsnitt i en typsnittsdialog.
På MorphOS väljer du typsnittet i ett valfält och anger teckenstorleken
i textfältet till höger.
Det är möjligt att ange bråktal, t.ex. `10.5'.
- ett strängfält för att ange en valfri rubriktext.
Rubriken skrivs ut överst på varje sida.
Lämna tomt om ingen rubrik önskas.
- ett strängfält för att ange en valfri sidfotstext.
Sidfoten skrivs ut nederst på varje sida tillsammans med sidnumret.
- ett statusfält som visar antalet sidor och om innehållet
passar in i sidbredden.
- två knappar `Skapa PDF' och `Avbryt' för att lämna fönstret.
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:
- ett valfält för att välja pappersstorlek.
- ett valfält för att ange orientering
(`Stående' eller `Liggande').
- ett valfält för att välja typsnitt med ett textfält för att ange
teckenstorleken. Det är möjligt att ange bråktal, t.ex. `10.5'.
- ett strängfält för att ange en valfri rubriktext.
Rubriken skrivs ut överst på varje sida.
Lämna tomt om ingen rubrik önskas.
- ett strängfält för att ange en valfri sidfotstext.
Sidfoten skrivs ut nederst på varje sida tillsammans med sidnumret.
- ett statusfält som visar antalet sidor och om innehållet
passar in i sidbredden.
- två knappar `Skapa PDF' och `Avbryt' för att lämna fönstret.
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:
- ett fält `Avgränsare' där du anger
hur kolumnerna ska separeras.
`Mellanslag' fyller fälten med blanksteg. Utfyllnad görs
på vänster eller höger sida beroende på typen
av fältet (tal fylls ut på vänster sida, text på höger sida).
`Tabbar' infogar exakt ett tabb-tecken mellan kolumnerna.
Detta kan vara användbart om du vill använda utskriftsdialogen för
att exportera poster (se nedan).
`Anpassad' låter dig ange en anpassad avgränsarsträng att
skrivas ut mellan fält.
- ett fält `Typsnitt' där du anger vilket typsnitt som ska användas för
utskrift av utdata. `NLQ' står för near letter quality som
bör skriva ut utdata i bättre kvalitet än `Draft'.
- ett fält `Storlek' där du definierar teckenstorleken.
`Pica' skriver ut i ett stort typsnitt (10 CPI), `Elite' i ett medium
typsnitt (12 CPI) och `Condensed' i ett litet typsnitt (17 CPI).
- ett strängfält `Initieringssekvens' där du kan ange en sträng
för att initiera din skrivare. Innehållet i detta fält skrivs direkt
efter att skrivaren öppnats.
Till exempel kan du använda `\33c' som initieringssekvens vilket återställer din skrivare.
- ett fält `Indrag' där du kan ange ett antal mellanslag som
används för att dra in varje utdatarad.
- ett fält `Rubrik' som, om markerat, skriver ut fältnamnen
i den första raden.
- ett fält `Escape-koder'.
Om inte markerad undertrycks utmatningen av alla escape-koder
vilket betyder att inställningarna för fälten `Typsnitt'
och `Storlek' ignoreras och innehållet i `Initieringssekvens'
skrivs inte ut. Att undertrycka utmatningen av alla escape-koder är
användbart om du vill generera en ASCII-fil, t.ex. för att exportera poster.
- ett fält `Citattecken' som, om markerat, omger alla
fält med dubbla citattecken.
- ett fält `Efter utskrift' där du kan ange hur
utdata ska avslutas. `Sidmatning' skriver ut ett sidmatnings-
tecken \f. `Radmatningar' skriver ut ett antal radmatnings-
tecken \n. Antalet radmatningar kan anges
i strängfältet till höger om knappen `Radmatningar'.
`Ingenting' skriver inte något till skrivaren.
- ett strängfält `Utdata' med en tillhörande popup-knapp.
Du kan använda popup-knappen för att öppna en fildialog för
att välja ett filnamn eller direkt ange filnamnet i strängfältet.
För att skriva utdata till din skrivare ange `|lpr' (Linux)
respektive `PRT:' (Amiga).
För andra speciella filnamn, se Program output file.
- två knappar `Ok' och `Avbryt' för att lämna utskriftsdialogen.
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



