Sie sind auf Seite 1von 27

Microsoft Access 2013

Die Abfragen
Lector dr. Boldeanu Dana-Maria
Abfragen erstellen
Wenn Sie in Microsoft Office Access 2013 eine Abfrage
erstellen wollen, ms- sen Sie im Register Create in der
Gruppe Queries (Abfragen) das Symbol Query Design
anklicken.
Im Abfrageentwurfsfenster whlen Sie dann die Tabelle(n)
bzw. Abfrage(n) aus, die fr die neue Abfrage die Daten
enthlt (bzw. enthalten)
Abfrageentwurfsfenster
Alternativ knnen Sie eine Abfrage auch mittels eines Assistenten
erstellen (Query Wizard).
Es gibt fr die Abfragen vier spezielle Assistenten:
1. Auswahlabfrage-Assistent (Simple Query Wizard),
2. Kreuztabellenabfrage-Assistent (CrossTab Query Wizard)
3. Abfrage-Assistent zur Duplikatsuche (Find Duplicate Query
Wizard)
4. Abfrage-Assistent zur Inkonsistentsuche (Find Unmatched Query
Wizard).
Fr die Verwendung eines Assistenten klicken Sie im Register Create in
der Gruppe Queries auf das Symbol Query Wizard.
Hier nun die allgemeinen Schritte bei der Erstellung einer Abfrage im
Abfrageentwurfsfenster:
1. Klicken Sie im Register Create in der Gruppe Queries auf das
Symbol Query Design.
2. Whlen Sie im Dialogfeld Show Table (Tabelle anzeigen) die
Tabelle(n) bzw. Ab- frage(n) aus, die fr die Abfrage genommen
werden soll(en) und klicken dann auf die Schaltflche Add.
Standardmig wird immer eine neue Auswahlabfrage angelegt. Es
gibt aber auch noch andere Abfragetypen.
Diese knnen im Register Entwurf (Registergruppe Query Tools) in der
Gruppe Query Type ausgewhlt werden.
Folgende Abfragetypen stehen neben der Auswahlabfrage (Select
Query) noch zur Verfgung:
Query Type Bedeutung
Select
(Standardtyp)
Bei einer Auswahlabfrage werden durch Angabe
bestimmter Kriterien Datenstze in den Tabellen
gefiltert, bei denen die Auswahlkriterien
zutreffen.
Make Table
(Tabellen-
erstellungsabfrage)
Mit diesem Abfragetyp wird eine neue Tabelle
erzeugt, die bei Angabe von Kriterien nur die
Datenstze der anderen Ta- belle enthlt, bei
denen die Auswahlkriterien zutreffen.
Append
(Anfgeabfrage)
Anfgeabfragen fgen komplette Datenstze
oder einzelne Felder einer Tabelle in eine
andere Tabelle ein, die sich in der gleichen
oder einer anderen Datenbank befindet.
Update
(Aktualisierungs-
abfrage)
Bei diesem Abfragetyp werden bestimmte
Daten der zugrun- deliegenden Tabelle, die
bestimmte Kriterien erfllen, aktua- lisiert. Die
genaue Angabe der Aktualisierung wird
ebenfalls in der Abfrage angegeben.
Query Type Bedeutung
Crosstab
(Kreuztabellenabfrage)
Bei einer Kreuztabellenabfrage werden die
Daten in eine al- ternative Darstellungsform
gebracht, die meistens bersicht- licher ist als
die normale Tabellenform.
Delete
(Lschabfrage)
Mit einer Lschabfrage werden alle
Datenstze der zugrun- deliegenden Tabelle
gelscht, bei denen die Auswahlkrite- rien
zutreffen.
Union Ein Abfragetyp, die den UNION-Operator
verwendet, um die Ergebnisse zweier oder
mehrerer Auswahlabfragen zu kombinieren.
Pass-Through Hierbei handelt es sich um eine SQL-Abfrage
zum Senden von Befehlen direkt an den
ODBC-Datenbankserver.
Data Definition
(Datendefinition)
Eine SQL-spezifische Abfrage, die DDL-
Anweisungen (Data Definition Language)
enthlt. Mit diesen Anweisun- gen knnen Sie
Objekte in der Datenbank erstellen oder n-
dern.
Anmerkung
Bedenken Sie bitte, dass bei (fast) allen Aktionsabfragen (das sind alle
Abfragetypen; auer Auswahlabfrage) nderungen an den Daten der
zugrundeliegenden Tabelle(n) durchgefhrt werden (beispielsweise
Aktualisierungen bei einer Aktualisierungsabfrage oder Lschen von
ganzen Datenstzen bei Lschabfragen).
Allerdings fragt Access bei jeder Aktionsabfrage nach, bevor die
Aktion auch wirklich durchgefhrt wird.
Soll eine Aktion aus dem Abfrageentwurfsfenster ausgefhrt werden,
muss das Symbol Run (Register Design (Registergruppe Query Tools);
Gruppe Results) angeklickt werden.
QBE (Query by Example) Fenster
Whlen Sie die Felder aus der Feldliste aus,
die in der Abfrage bentigt werden (um sie
beispielsweise anzuzeigen oder um Kriterien
festzulegen).
Auf eine bestimmte Reihenfolge bei der
Auswahl der Feldnamen brauchen Sie nicht
zu achten. Sie knnen einen Feldnamen
auch mehrmals auswhlen, um
beispielsweise unterschiedliche
Abfragekriterien festzulegen.
Doppelklick auf den gewnschten
Feldnamen in der Feldliste aus.
...um ihn in diese Liste zu
bernehmen
CRITERIA & SORT FELD
Legen Sie die Auswahlkriterien fr die Abfrage fest. Geben Sie
dazu das entsprechende Kriterium in der Zeile Criteria: bei dem
entsprechenden Feld ein.
Sie knnen (theoretisch) beliebig viele Kriterien angeben.
Werden mehrere Kriterien angegeben und befinden sich diese in
derselben Zeile, handelt es sich um eine AND-Verknpfung (alle
Kriterien mssen zutreffen).
Werden die Kriterien dagegen in unterschiedlichen Zeilen
angegeben, handelt es sich um eine OR-Verknpfung (es reicht,
wenn ein Kriterium zutrifft).
Beide Verknpfungsarten knnen auch kombiniert werden.
Wenn Sie fr bestimmte, ausgewhlte Felder eine Sortierung
einstellen mchten, knnen Sie das in der Zeile Sort: machen
Klicken Sie im Register Design (Registergruppe Query Tools) in der
Gruppe Show/Hide auf das Symbol TOTALS, wenn Sie zustzliche
Funktionen fr die Abfrage einstellen wollen.
In der Zeile Total: knnen Sie dann
fr das entsprechende Feld die
gewnschte Funktion auswhlen.
Einstellen von Funktionen
Berechnungen durchfhren
Eine Berechnung kann sehr einfach aufgebaut sein (z.B. eine
Addition), aber auch recht komplex (unter Verwendung von Access-
Funktionen). Auch Daten aus der/den zugrundeliegenden Tabelle(n)
knnen in Berechnungen verwendet werden (z.B. wird aus dem
Nettopreis eines Artikels die Mehrwertsteuer berechnet; wird ein
Feldname in einer Berechnung verwendet, muss dieser in eckige
Klammern ([ und ]) eingeschlossen sein).
Der Berechnung mssen Sie einen freiwhlbaren Namen geben,
gefolgt von einem Doppelpunkt und einem Leerzeichen.
Fr einfache Zahlenberechnungen knnen Sie u. a. die vier
Grundrechenarten verwenden (Verknpfungssymbole: + , -, *, /).
Liegen Textdaten vor, die mitein- ander verknpft werden sollen, wird
das Verknpfungssymbol & eingesetzt.
Konstanter Text wird in doppelte Anfhrungszeichen () gesetzt.
Abfragen mit Parametern
In manchen Fllen soll das Kriterium allgemein gehalten sein (z.B. sollen nicht
immer nur alle Kunden, die in Bukarest wohnen, angezeigt werden, sondern
beim Aufruf der Abfrage soll individuell der gewnschte Ortsname angegeben
werden).
Hierbei wird als Criteria kein fester Wert (Ortsname oder eine feste Zahl oder
Datum, usw.) eingetragen, sondern ein sogenannter Parameter.
Bei diesem Parameter handelt es sich um einen frei whlbaren Namen oder auch
kurzen Text, der beim Ausfhren der Abfrage als Eingabeaufforderung erscheint.
Wichtig dabei ist, dass der Parameter in eckigen Klammern ([ und ])
eingeschlossen sein muss.
Er sollte auch nicht identisch mit einem der Feldnamen der zugrun- deliegenden
Tabelle(n) sein. Einige Sonderzeichen (u.a. der Punkt und das Aus- rufezeichen)
drfen im Parameter nicht vorkommen.
Beispiel fr einen Parameter:
Criteria Feld - [Bitte geben Sie den Ortsnamen ein:] oder kurz [Ortsname:]
Wenn die Abfrage fertig ist, knnen Sie in die
Datasheet View wechseln, um sich das Ergebnis der
Abfrage anzuschauen. Das Datenblatt einer Abfrage
ist dabei exakt genauso aufgebaut wie das
Datenblatt einer Tabelle.
Werden Parameter in der Abfrage eingesetzt,
erscheint fr jeden Parameter eine
Eingabeaufforderung, wo Sie entsprechend die
gewnschten Daten eingeben. Zur Datasheet View
kommen Sie, wenn Sie im Register Design
(Registergruppe Query Tools) in der Gruppe Result
das Symbol Design View anklicken.
Klicken Sie im Register Home in der Gruppe Views
auf das Symbol Design View, um in das QBE Fenster
zurckzukehren.
Anmerkung
Gilt nur fr die Abfragetypen Tabellenerstellungsabfrage,
Aktualisierungsabfrage, Anfgeabfrage und Lschabfrage: Um die
Vernderung der Daten in den zugrundenliegenden Tabelle(n) auch
durchzufhren, klicken Sie im QBE Fenster im Register Design (Query Tools) in
der Gruppe Result auf das Symbol Run.
Sie werden dann in einem Dialogfeld auf die Anzahl der betreffenden
Datenstze hingewiesen und bekommen gleichzeitig die Frage gestellt, ob die
nderung der Daten auch wirklich durchgefhrt werden soll.
Bedenken Sie bitte, dass die nderung nicht rckgngig gemacht werden
kann. Es empfiehlt sich, vorher eine Kopie der gesamten Datenbank
anzulegen.
Abfragen Kriterien fr Felder vom Datentyp Text und Hyperlink
Um Datenstze einzuschlieen, die Beispiel Abfrageergebnis
genau mit einem Wert bereinstimmen "Gieen" Feld enthlt Gieen
nicht mit einem Wert bereinstimmen Not "Gieen" Feld enthlt nicht Gieen
mit der angegebenen Zeichenfolge beginnen Like "H" Feld enthlt z.B. Hamburg, aber auch Hannover
nicht mit der angegebenen Zeichenfolge
beginnen
Not Like "H" Feldinhalt beginnt nicht mit H, wie z.B. Frankfurt,
Berlin oder Kln
die angegebene Zeichenfolge enthalten Like "*an*"
Feldinhalt enthlt an, wie z.B. Frankfurt oder
Hannover
nicht die angegebene Zeichenfolge enthalten Not Like "*an*" Feldinhalt enthlt nicht an, wie z.B. Kln, Berlin
oder Hamburg
mit der angegebenen Zeichenfolge enden Like "*in" Feldinhalt endet mit in, wie z.B. Berlin
nicht mit der angegebenen Zeichenfolge enden Not Like "*in" Feldinhalt endet nicht mit in, wie z.B. Frankfurt
NULL-Werte (oder fehlende Werte) enthalten Is Null Gibt Datenstze zurck, bei denen kein Wert im
Feld vorhanden ist
keine NULL-Werte enthalten Is Not Null Gibt Datenstze zurck, bei denen ein Wert im
Feld vorhanden ist
leere Zeichenfolgen enthalten "" Gibt Datenstze zurck, bei denen das Feld auf
einen leeren Wert (aber nicht NULL) festgelegt
ist
keine leere Zeichenfolgen enthalten Not "" Gibt Datenstze zurck, bei denen im Feld ein
nicht leerer Wert vorhanden ist.
Die folgenden Beispiele beziehen sich auf das Feld Ort in der Tabelle Kundenliste.
enthlt NULL-Werte oder leere Zeichenfolgen "" Or Is Null Gibt Datenstze zurck, bei denen entweder kein
Wert im Feld vorhanden oder fr das Feld ein
leerer Wert festgelegt ist
nicht leer oder nicht NULL sind Is Not Null Or Not "" Gibt Datenstze zurck, bei denen im Feld ein
nicht leerer Wert/Nicht-NULL-Wert vorhanden
ist
bei Sortierung in alphabetischer Reihenfolge auf
einen Wert folgen
>="Hamburg"
Feld enthlt z.B. Hamburg, Hannover oder Kln
aber nicht Berlin
die innerhalb eines bestimmten Bereichs liegen Like "[A-G]" Feldinhalt beginnt mit dem Buchstaben A, B, C,
D, E, F oder G, also z.B. Berlin oder Gieen aber
nicht Kln
mit einem von zwei Werten bereinstimmen "Berlin" Or "Kln"
Zeigt alle Datenstze mit Ortsname Berlin oder
Kln an
einen der Werte in einer Werteliste enthalten In("Berlin"; "Kln"; "Gieen") Zeigt alle Datenstze mit den aufgefhrten
Ortsna- men an
bestimmte Zeichen an einer bestimmten
Position im Feldwert enthalten
Mid([Ort];2;1)="a" Feldinhalt hat an der 2. Stelle ein a, wie z.B.
Hannover oder Hamburg aber nicht Frankfurt (a
ist an der 3. Stelle)
Lngenanforderungen erfllen Len([Ort])>6
Feldinhalt hat min. 6 Zeichen, wie z.B. Hamburg
oder Hannover aber nicht Kln
einem bestimmten Muster entsprechen Like "???n" Feldinhalt hat genau 4 Zeichen und das 4.
Zeichen ist ein n, wie z.B. Kln oder Bonn
Kriterien fr Felder vom Datentyp Number, Currency und
Autonumber
Die folgenden Beispiele beziehen sich auf das Feld Nettopreis in der Tabelle Artikelliste
Um Datenstze einzuschlieen, die Beispiel Abfrageergebnis
genau mit einem Wert bereinstimmen 31,51 Feld enthlt den genauen Wert 31,51
nicht mit einem Wert bereinstimmen not 31 Alle Felder, auer der Inhalt ist 31
einen Wert enthalten, der kleiner (oder gleich)
einem anderen Wert ist
<100 Alle Felder deren Inhalt kleiner bzw. kleiner oder
<=100 gleich 100 ist
einen Wert enthalten, der grer (oder gleich)
einem anderen Wert ist
>100 Alle Felder deren Inhalt grer bzw. grer oder
>=100 gleich 100 ist
einen von zwei Werten 20,17 Or 6,72
Alle Felder, wo der Wert genau 20,17 oder 6,72
Ist
einen Wert enthalten, der innerhalb eines
Wertebe- reichs liegt
>=20 and <=60
bzw.
Between 10 Und 20
Alle Felder, wo der Wert zwischen 20 und 60
liegt
einen Wert enthalten, der auerhalb eines
Wertebereichs liegt
<10 or >20 bzw.
Not between 10 and 20
Alle Felder, wo der Wert nicht zwischen 10 und
20 liegt
einen von vielen spezifischen Werten enthalten In(10;20;30)
Alle Felder, wo der Wert 10 , 20 oder 30 ent-
spricht
einen Wert enthalten, der auf die
angegebenen Zif- fern endet
Like "*4,99" Alle Felder, wo der Wert mit 4,99 endet, wie
z.B. 4,99 , 34,99 oder 124,99
NULL-Werte (oder fehlende Werte) enthalten Is Null Gibt Datenstze zurck, bei denen kein Wert im
Feld vorhanden ist
nicht NULL-Werte enthalten Is Not Null Gibt Datenstze zurck, bei denen ein Wert im Feld
vorhanden ist
Kriterien fr Felder vom Datentyp Date/Time
Die folgenden Beispiele beziehen sich auf das Feld Bestelldatum in der Tabelle Bestellungen
Um Datenstze einzuschlieen, die Beispiel Abfrageergebnis
genau mit einem Wert bereinstim- men #14.01.2008# Alle Bestellungen vom
14.01.2008
Werte enthalten, die vor einem bestimmten
Datum liegen
<#01.01.2008# bzw.
<=#01.01.2008#
Alle Bestellungen die vor
dem 01.01.2008 liegen
Werte enthalten, die nach einem bestimmten
Datum liegen
>#15.01.2008# bzw.
>=#15.01.2008#
Alle Bestellungen nach dem
15.01.2008
Werte enthalten, die innerhalb eines
Datumsbereichs liegen
>#15.12.2007# and <#15.01.2008# bzw.
>=#15.12.2007# and <=#15.01.2008#
Alle Bestellungen zwischen
15.12.2007 und 15.01.2008
Werte enthalten, die auerhalb eines
Datumsbereichs liegen
einen von zwei Werten enthalten
<#15.12.2007# Or >#15.01.2008# bzw.
<=#15.12.2007# Or >=#15.01.2008#
Alle Bestellungen auerhalb
15.12.2007 und 15.01.2008
#07.12.2007# Or #12.12.2007#
Alle Bestellungen vom
7.12.2007 bzw. 12.12.2007
einen von vielen Werten enthalten In(#07.12.2007#;#10.01.2008#;#23.01.2008#) Alle Bestellungen vom
07.12.2007, 10.01.2008 bzw.
23.01.2008
ein Datum enthalten, das auf einen
bestimmten Monat fllt (unabhngig von Tag
und Jahr)
DatePart("m";[Bestelldatum])=12 Alle Bestellungen im
Dezember
ein Datum enthalten, das auf ein be- stimmtes
Quartal fllt
DatePart("q";[Bestelldatum])=1
Alle Bestellungen im 1.
Quartal (Januar bis Mrz)
das heutige Datum enthalten Date() Alle Bestellungen vom
aktuellen Tag
das gestrige Datum enthalten Date()-1 Alle Bestellungen vom
gestrigen Tag
das morgige Datum enthalten Date()+1 Alle Bestellungen vom
morgigen Tag
das heutige Monat enthalten Month([Bestelldatum])=Month(Date()) Alle Bestellungen vom
aktuellen Monat
Ein Datum enthalten, das auf das ak- tuelle
Jahr fllt
Year([Bestelldatum])=Year(Date()) Alle Bestellungen fr das
aktuelle Jahr
Ein Datum enthalten, das auf die letzten 7 Tage
fllt
Between Date() and Date()-6 Alle Bestellungen der letzten
7 Tage
Aufgaben
Anzeigen Sie die Alphabetische Liste den Kunden aus Bukarest.
Anzeigen Sie die Kundenliste ohne Telefonnummer
Anzeigen Sie die Kundenliste mit Rechtsform AG.
Anzeigen Sie die Kundenliste in einer bestimmten Stadt als Parameter
ber die Tastatur eingefhrt.
Bei welchen Artikeln ist der Lagerbestand grer als n Stck?
Bei welchen Artikeln ist der Lagerbestand kleiner als der
Mindestbestand?
Bei welchen Artikeln liegt der Nettopreis zwischen n und m Euro?
Bei welchen Artikeln handelt es sich um Sonderaktionen?
Berechnen Sie ein neues Feld namens Begriff" als Differenz zwischen
Leiferdatum und Bestellungdatum.
Welche Bestellungen sind noch nicht geliefert worden?
Bei welchen Bestellungen liegen mehr als 7 Tage zwischen Bestell-
und Lieferdatum?
Komplette Auflistung von Bestellungen eines bestimmten Kunden.
Welcher Kunde hat wie viele Bestellungen vorgenommen?
Anzahl den Bestellungen aus Mrz 2014.
Bei welchen Bestellungen wird der Artikel im selben Monat geliefert?
Gesamtwert aller bestellten Artikel
Die Anzahl aller Bestellungen fr jeden Kunden und auf jedem Ort.
Aufgaben
Aufgaben - Aktionsabfragen
Erstellen Sie eine neue Tabelle Artikelliste2 mit alle Artikeln
mit Nettopreis grer als 100 .
Bei allen Artikeln, bei denen es sich um eine Sonderaktion
handelt, soll der Nettopreis um 10% reduziert werden.
In der Tabelle Bestellungen sollen alle Datenstze gelscht
werden, bei denen das Lieferdatum vor einem beliebig
einzugebenden Datum liegt.
Anhngen zu Tabelle Artikelliste2 alle Artikeln mit Nettopreis
zwischen 60 und 100 .