Académique Documents
Professionnel Documents
Culture Documents
Wenn Sie den Befehl Ansicht erstellen im Bereich Tabellen des Aufgabenfensters einer Datenbank whlen, wird das Fenster
Ansichtsentwurf geffnet, das dem hier beschriebenen Fenster Abfrageentwurf entspricht.
Das Aussehen der Abfrage-Entwurfsansicht wird mit der erzeugten Abfrage gespeichert. Sie kann aber
nicht mit der erzeugten Ansicht gespeichert werden.
Die Entwurfsansicht
Um eine Abfrage zu erstellen, klicken Sie in einem Datenbankdokument auf das Symbol Abfragen, dann
klicken Sie auf Abfrage in der Entwurfsansicht erstellen.
Im unteren Fensterbereich der Entwurfsansicht definieren Sie die Abfrage. Zur Definition einer Abfrage
geben Sie die Feldnamen der in der Datenbank zu bercksichtigenden Felder sowie die Kriterien zur
Anzeige der Felder an. Die Spalten im unteren Fensterbereich der Entwurfsansicht lassen sich durch
Ziehen der Spaltenkpfe oder Auswhlen der Spalten und Drcken von Strg+Pfeiltaste umordnen.
Am oberen Rand des Entwurfsfensters sehen Sie die Symbolleiste Abfrageentwurf.
Zum Testen einer Abfrage klicken Sie auf das Symbol Abfrage ausfhren in der Symbolleiste
Abfrageentwurf. Das Abfrageergebnis wird in einer der Datenquellenansicht hnlichen Tabelle
angezeigt. Hinweis: Die Anzeige dieser Tabelle ist nur temporr.
Schlssel in der Abfrageentwurfsansicht
Schlssel
Funktion
F4
Vorschau
F5
Abfrage ausfhren
F7
Durchsuchen
Wenn Sie den Abfrageentwurf ffnen, um eine neue Abfrage zu erstellen, knnen Sie auf Tabellen
hinzufgen klicken. Dadurch ffnet sich ein Dialog, in dem Sie zunchst die als Grundlage fr die
Abfrage dienende Tabelle whlen mssen.
Doppelklicken Sie auf Felder, um sie der Abfrage hinzuzufgen. Mit Ziehen und Ablegen definieren Sie
Relationen.
Whrend Sie eine Abfrage erstellen, knnen Sie die ausgewhlten Tabellen nicht mehr verndern.
Tabellen entfernen
Um eine Tabelle aus der Entwurfsansicht zu entfernen, klicken Sie auf den oberen Rand des
Tabellenfensters und rufen Sie dann das Kontextmen auf. Mit dem Befehl Lschen wird die Tabelle aus
der Entwurfsansicht entfernt. Alternativ knnen Sie auch die (Entf)-Taste bettigen.
Tabellen verschieben und Tabellengre ndern
Sie knnen die Tabellen nach Ihren Wnschen anordnen und sie in der Gre verndern. Um eine Tabelle
zu verschieben, fassen Sie sie mit der Maus am oberen Rand und ziehen Sie sie in die gewnschte
Position. Um sie in der Darstellung zu vergrern oder zu verkleinern, ziehen Sie den Rand oder eine
Ecke.
Verknpfungsart festlegen
Wenn Sie auf die Verbindungslinie zwischen zwei verknpften Feldern doppelklicken oder den
Menbefehl Einfgen - Neue Relation... whlen, knnen Sie im Dialog Verbundeigenschaften
(Relationen) den gewnschten Verbindungstyp angeben.
Alternativ drcken Sie die Tabulatortaste, bis die Verbindungslinie ausgewhlt ist. Dann drcken Sie
Umschalt+F10, um das Kontextmen anzuzeigen und dort den Befehl Bearbeiten auszuwhlen. Einige
Datenbanken untersttzen nur eine Teilmenge der mglichen Verbindungsarten.
Beziehungen lschen
Wenn Sie eine Beziehung zwischen zwei Tabellen lschen mchten, dann klicken Sie die
Verbindungslinie mit der Maus an und drcken Sie dann die (Entf)-Taste.
Sie knnen auch die entsprechenden Eintrge aus der Liste beteiligte Felder im Dialog
Verbundeigenschaften lschen. Oder drcken Sie die Tabulatortaste, bis die Verbindungslinie
hervorgehoben wird, drcken Sie Umschalt+F10 zum ffnen des Kontextmens, und whlen Sie den
Befehl Lschen.
Abfrage definieren
Whlen Sie die Bedingungen zum Definieren der Abfrage. Jede Spalte der Entwurfstabelle nimmt ein
Datenfeld fr die Abfrage auf. Die Bedingungen in einer Zeile werden durch ein logisches UND
verknpft.
Datenfelder festlegen
Whlen Sie zunchst in den Tabellen alle Feldnamen aus, die in der Abfrage bercksichtigt werden sollen.
Dies geschieht entweder per Ziehen und Ablegen oder durch Doppelklicken auf einen Feldnamen im
Tabellenfenster. Beim Ziehen und Ablegen ziehen Sie einen Feldnamen mit der Maus aus dem
Tabellenfenster in den unteren Fensterbereich des Abfrageentwurfs. Dabei knnen Sie entscheiden, in
welche Spalte das Feld eingefgt werden soll. Whlen Sie einen Feldnamen aus, indem Sie darauf
doppelklicken. Er wird dann in die nchste freie Spalte eingefgt.
Datenfelder lschen
Wenn Sie ein Datenfeld aus der Abfrage entfernen mchten, dann klicken Sie mit der rechten Maustaste
in den Spaltenkopf des Feldes und rufen Sie dann den Befehl Lschen im Kontextmen der Spalte auf.
Abfrage speichern
Mit dem Symbol Speichern in der Standardleiste speichern Sie die Abfrage. Sie sehen einen Dialog, der
Sie zum Eingeben eines Namens fr die Abfrage auffordert. Wenn die Datenbank Schemas untersttzt,
knnen Sie auch ein Schema eingeben:
Schema
Geben Sie den Namen des Schemas ein, dem die Abfrage/Tabellenansicht zugeordnet wird.
Name der Abfrage / Tabellenansicht
Geben Sie den Namen des Datenfelds ein, auf das sich die Abfrage bezieht. Alle Einstellungen in den
unteren Zeilen gelten fr dieses Feld. Wenn Sie eine Zelle per Mausklick aktivieren, wird eine
Pfeilschaltflche eingeblendet, die zum Auswhlen von Feldern dient. Mit der Option "Tabellenname.*"
whlen Sie alle Datenfelder aus, und die Kriterien gelten dann fr alle Tabellenfelder.
Alias
Dient zur Angabe eines Aliasnamens. Der Aliasname wird in der Abfrage anstelle des Feldnamens
angezeigt. Diese Funktion ermglicht den Einsatz benutzerdefinierter Spaltenbeschriftungen. Heit das
Datenfeld in der Tabelle beispielsweise "Teilenr." und Sie mchten, dass in der Abfrage stattdessen der
Name "Teilenummer" erscheint, so geben Sie "Teilenummer" als Aliasnamen ein (ohne die
Anfhrungszeichen).
In einer SQL-Anweisung werden Aliasnamen wie folgt festgelegt:
SELECT column AS alias FROM table.
Beispiel:
SELECT "ArtikelNr" AS "Artikel-Nummer" FROM "Artikel"
Tabelle
Hier ist die zugehrige Datenbanktabelle des ausgewhlten Datenfelds angegeben. Wenn Sie eine Zelle
per Mausklick aktivieren, wird eine Pfeilschaltflche eingeblendet, die zur Auswahl einer anderen Tabelle
der aktuellen Abfrage dient.
Sortierung
Wenn Sie die Zelle anklicken, knnen Sie zwischen folgenden Sortieroptionen whlen: aufsteigend,
absteigend oder nicht sortiert. Text-Felder werden alphabetisch sortiert, numerische Felder numerisch. Fr
die meisten Datenbanken knnen die Administratoren die Sortieroptionen setzen.
Sichtbar
Whlen Sie die Eigenschaft Sichtbar fr ein Datenfeld, dann wird dieses in der Abfrage sichtbar
aufgefhrt.. Wenn Sie ein Datenfeld nur zur Formulierung einer Bedingung nutzen mchten, brauchen Sie
es fr die Abfrage nicht unbedingt einzublenden.
Kriterien
Hier legen Sie die Kriterien fest, nach denen der Inhalt des Datenfelds gefiltert werden soll.
oder
Hier knnen Sie in jeder Zeile je ein weiteres Kriterium fr die Filterung eingeben. Mehrere Kriterien in
einer Spalte werden mit einer ODER-Verknpfung verbunden.
Darber hinaus knnen Sie ber das Kontextmen der Zeilenkpfe im unteren Bereich des
Abfrageentwurfs noch eine Zeile fr Funktionen einfgen:
Funktionen
Sie knnen in Abfragen Funktionen ausfhren, wobei die unterschiedlichen Mglichkeiten von dem von
Ihnen verwendeten Datenbanksystem abhngen.
Falls Sie mit der HSQL-Datenbank arbeiten, bietet Ihnen das Listenfeld in der Funktion-Reihe die
folgenden Optionen:
Option
SQL
Auswirkung
keine
Funktion
Durchschnitt AVG
Anzahl
COUNT
Bestimmt die Anzahl der Datenstze in der Tabelle. Dabei knnen leere Felder entweder gezhlt
(a) oder bersprungen (b) werden.
a) COUNT(*): Wenn Sie als Argument ein Sternchen bergeben, werden alle Datenstze der
Tabelle gezhlt.
b) COUNT(column): Wenn Sie als Argument ein Datenfeld bergeben, werden nur die Felder
gezhlt, in denen das jeweilige Datenfeld einen Wert enthlt. Null-Werte (leere Felder) werden
dabei nicht mitgezhlt.
Maximum
MAX
Minimum
MIN
Summe
SUM
Gruppierung GROUP Gruppiert Abfragedaten nach dem ausgewhlten Feldnamen. Die Funktionen werden fr die
BY
angegebenen Gruppen ausgefhrt. Diese Option entspricht in SQL der Klausel GROUP BY. Wenn
Sie ein Kriterium hinzufgen, erscheint dieser Eintrag in SQL nach HAVING.
Es besteht auch die Mglichkeit, Funktionsaufrufe direkt in den SQL-Ausdruck einzugeben. Die Syntax
lautet:
SELECT FUNCTION(column) FROM table.
Beispiele
Im folgenden Beispiel wird eine Abfrage ber zwei Tabellen ausgefhrt: eine Tabelle "Artikel" mit dem
Feld "Artikel_Nr" und eine Tabelle "Lieferanten" mit dem Feld "Lieferanten_Name". Auerdem besitzen
beide Tabellen ein gemeinsames Datenfeld "Lieferanten_Nr".
Um eine Abfrage zu erstellen, die alle Lieferanten beinhaltet, die mehr als drei Artikel liefern, sind
folgende Schritte ntig:
1. Die Tabelle "Artikel" und "Lieferanten" in den Abfrageentwurf einfgen.
2. Die Felder "Lieferanten_Nr" beider Tabellen verbinden, falls es nicht schon eine
entsprechende Relation zwischen den Tabellen gibt.
3. Aus der Tabelle "Artikel" das Feld "Artikel_Nr" doppelt anklicken. Die Zeile Funktion ber
das Kontextmen einblenden und die Funktion Anzahl auswhlen.
4. Als Kriterium >3 eingeben und das Sichtbar-Feld ausschalten.
5. Das Feld "Lieferanten_Name" aus der Tabelle "Lieferanten" doppelt anklicken, und die
Funktion Gruppierung auswhlen.
6. Fhren Sie die Abfrage aus.
Wenn in der Tabelle "Artikel" die Felder "Preis" (fr den Einzelpreis eines Artikels) und "Lieferanten_Nr"
(fr den Lieferanten des Artikels) existieren, knnen Sie mit folgender Abfrage den Durchschnittspreis
der Artikel erhalten, die ein Lieferant bereitstellt:
1. Die Tabelle "Artikel" in den Abfrageentwurf einfgen.
2. Die Felder "Preis" und "Lieferanten_Nr" doppelt anklicken.
3. Die Zeile Funktion einschalten und bei dem Feld "Preis" die Funktion Durchschnitt
auswhlen.
4. Auf Wunsch in der Zeile fr den Aliasnamen "Durchschnitt" eintragen (ohne
Anfhrungsstriche).
5. Bei dem Feld "Lieferanten_Nr" die Gruppierung auswhlen.
6. Fhren Sie die Abfrage aus.
ist gleich
<>
ist ungleich
>
ist grer
<
ist kleiner
>=
ist grer
gleich
... der Feldinhalt grer oder gleich dem angegebenen Ausdruck ist.
<=
ist kleiner
gleich
... der Feldinhalt kleiner oder gleich dem angegebenen Ausdruck ist.
OpenOffice-Befehl
SQL-Befehl
Bedeutung
IST LEER
IS NULL bzw.
IST LEER
ist leer
IS NOT NULL
LIKE
LIKE
(Platzhalter * fr beliebig
viele Zeichen
Platzhalter ? fr genau
ein Zeichen)
(Platzhalter % von
fr beliebig viele
Zeichen
Platzhalter _ fr
genau ein
Zeichen)
NICHT WIE
NICHT WIE
ist nicht
Bestandteil
von
ZWISCHEN x UND y
ZWISCHEN x
UND y
liegt im
... das Datenfeld einen Wert enthlt, der zwischen den beiden
Intervall [x,y] Werten x und y liegt.
liegt nicht im ... das Datenfeld einen Wert enthlt, der nicht zwischen den
Intervall [x,y] beiden Werten x und y liegt.
IN (a; b; c...)
Achten Sie auf die
Semikola als Trenner in
allen Wertelisten!
IN (a, b, c...)
enthlt a, b,
c...
NOT IN (a, b,
c...)
enthlt nicht
a, b, c...
= WAHR
= WAHR
hat den Wert ... das Datenfeld den Wert True hat.
True
= FALSCH
= FALSE
hat den Wert ... das Datenfeld den Wert False hat.
False
Beispiele
='Frau'
WIE 'H?llo'
WIE 'S*'
ZWISCHEN 10
UND 20
liefert Datenfelder mit Feldinhalten zwischen den Werten 10 und 20. (Dabei kann es sich sowohl um Textfelder als
auch um Zahlenfelder handeln.)
IN (1; 3; 5; 7)
liefert Datenfelder mit den Werten 1, 3, 5, 7. Beinhaltet das Datenfeld beispielsweise eine Artikel-Nummer, knnen
Sie eine Abfrage erstellen, die bestimmte Artikel mit der angegebenen Nummer liefert.
NICHT IN
('Mller')
Datumsfelder werden zur eindeutigen Kennzeichnung in der Form #Datum# dargestellt. Die
Datumsbedingung wird in dem hieraus resultierenden SQL-Ausdruck auf die folgende ODBC-konforme
Art wiedergegeben:
Datum
{D'YYYY-MM-DD'}
Datumzeit {D'YYYY-MM-DD
HH:MM:SS'}
Zeit
{D'HH:MM:SS'}
Zustzlich untersttzt OpenOffice folgende aus ODBC und JDBC bekannte Escape-Sequenzen:
Datum
{d 'YYYY-MM-DD'}
Zeit
{t 'HH:MI:SS[.SS]'} - [ ] optional
Beispiel
Ja
=1 liefert alle Datenstze, bei denen das Ja/Nein-Feld den Zustand "Ja" oder
"an" hat (schwarze Markierung).
Nein
=0 liefert alle Datenstze, bei denen das Ja/Nein-Feld den Zustand "Nein"
oder "aus" hat (keine Markierung).
Leer
IS NULL liefert alle Datenstze, bei denen das Ja/Nein-Feld keinen der beiden
Zustnde Ja oder Nein hat (graue Markierung).
Die Syntax ist von dem jeweiligen Datenbanksystem abhngig. Beachten Sie auerdem, dass Ja/Nein-Felder unterschiedlich
definiert sein knnen (nur zwei anstelle von 3 Zustnden).
Parameterabfragen
Wenn Sie Abfragen mit variablen Parametern erstellen mchten, mssen Sie die Variablen in eckige
Klammern setzen (=[x]). Alternativ knnen Sie ein Gleichheitszeichen, gefolgt von einem Doppelpunkt
setzen (=:x). Bei der Ausfhrung der Abfrage erscheint ein Dialog, in dem Sie gefragt werden, welchem
Ausdruck die Variable x zugeordnet werden soll.
Beim gleichzeitigen Abfragen mehrerer Parameter weist der Dialog ein Listenfeld auf, in dem alle
Parameter mit einer Eingabezeile daneben aufgefhrt sind. Geben Sie von oben nach unten die Werte ein,
und drcken Sie nach jeder Zeile die Eingabetaste.
Parameterabfragen mit Platzhaltern (*, _) oder Sonderzeichen (z. B. ?) sind nicht mglich.
Die Formulierung von Parameterabfragen bietet den Vorteil, dass eine solche mit Variablen gespeicherte
Abfrage zu einem spteren Zeitpunkt als Grundlage fr eine neue Abfrage verwendet werden kann.
Sobald Sie die Abfrage ffnen, fragt OpenOffice nach diesen Variablen, die Sie dann nur noch durch die
gewnschten Ausdrcke zu ersetzen brauchen.
Parameter-Eingabe
Im Dialog Parameter-Eingabe werden Sie nach den in der Abfrage definierten Variablen gefragt. Geben
Sie fr jede Variable der Abfrage einen Wert ein, und besttigen Sie mit Eingabetaste.
Parameterabfragen werden auch fr Unterformulare verwendet, da sie ausschlielich mit Abfragen
arbeiten, bei welchen die abzurufenden Werte intern aus einer Variablen gelesen werden.
Im SQL-Statement sieht eine Parameterabfrage z. B. so aus:
select * from 'adressen' where 'name' = :placeholder
SQL-Modus
SQL steht fr "Structured Query Language" und beschreibt Anweisungen, um relationale Datenbanken
abzufragen, zu aktualisieren und zu verwalten.
Da OpenOffice nicht die Eingabe des SQL-Codes verlangt, knnen Sie die meisten Abfragen auch ohne
SQL-Kenntnisse durchfhren. Whrend Sie eine Abfrage im Abfrageentwurf erstellen, setzt OpenOffice
Ihre Anweisungen automatisch in die entsprechende SQL-Syntax um. Wenn Sie mit der Schaltflche
Design-Ansicht an-, ausschalten in die SQL-Ansicht wechseln, sehen Sie die SQL-Befehle einer zuvor
erstellten Abfrage.
Sie knnen Ihre Abfrage direkt im SQL-Code formulieren. Dabei ist jedoch zu beachten, dass die
spezielle Syntax von Ihrem verwendeten Datenbanksystem abhngt.
Wenn Sie den SQL-Code von Hand eingeben, knnen Sie SQL-spezifische Abfragen anlegen, die nicht
von der grafischen Oberflche im Abfrageentwurf untersttzt werden. Diese Abfragen mssen im
Native-SQL-Modus ausgefhrt werden.
Indem Sie auf das Symbol SQL-Kommando direkt ausfhren in der SQL-Ansicht klicken, haben Sie
die Mglichkeit, eine Abfrage zu for