42
Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die Regeln zur Auswertung der Daten. Die Abfragen speichern niemals Daten. Mit Abfragen kann man eine neue Sicht über die Tabellen definieren. Ein Abfrage greift immer auf die Daten zu, die in einer oder mehreren Tabellen/Abfragen (oder beides) gespeichert sind. Die Abfragen können wir "durch Beispiel" (englisch: Query By Example; kutz QBE) oder mit Hilfe der SQL-Sprache formulieren.

Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Embed Size (px)

Citation preview

Page 1: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Die AbfragenDas Prinzip der Abfrage.

Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert.

Bemerkungen:• Das Abfrage ist die Regeln zur Auswertung der Daten. • Die Abfragen speichern niemals Daten. • Mit Abfragen kann man eine neue Sicht über die Tabellen

definieren. • Ein Abfrage greift immer auf die Daten zu, die in einer oder

mehreren Tabellen/Abfragen (oder beides) gespeichert sind.• Die Abfragen können wir "durch Beispiel" (englisch: Query By

Example; kutz QBE) oder mit Hilfe der SQL-Sprache formulieren.

Page 2: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

• Das Ergebnis einer Abfrage wird als Dynaset bezeichnet.

• Ein Dynaset hat den Charakter einer Tabelle. Es besteht aus Datenfeldern (Spalten) und Datensätzen (Zeilen).

• Das Dynaset selbst wird nicht gespeichert.

• Es gibt die Möglichkeit das Dynaset in eine Tabelle umzuleiten, so daß es für weitere Anwendungen verfügbar ist. Man braucht eine spezilelles Mechanismus: QBE - Make Table.

Page 3: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Vorteile.

• Der Vorteil liegt in ihrer Aktualität. • Außerdem helfen Abfragen Speicherplatz

sparen. Wenn man beispielweise ein Feld für Nettowert un ein weiteres für die Mehrwertsteuer eines Projektes definiert haben, dann benötigt man kein weiteres für den Bruttowert.

• Mit Abfragen lassen sich auch solche Tabellen verknüpfen, für die keine referentielle Integrität definiert wurde.

• Die meisten Formulare und Berichte besieren daher auf Abfragen.

Page 4: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

• Abfragen bietet die Möglichkeiten wie:

-Tabellen nach mehreren Feldern zu sortieren,

-Tabellen nach mehreren Kriterien zu gruppieren und

- verschiedene Berechnungen durchzuführen.

• Außerdem lassen sich Datensätze mit Aktualisierungsabfragen automatisch ändern, mit Einfügeabfragen automatisch einfügen und mit Löschabfragen automatisch löschen.

Page 5: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Das Abfragefenster

Page 6: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

• Access zeigt im oberen Bereich (Zone A) des Abfragefensters alle geöffneten Tabellen und/oder Abfragen und deren Verknüpfungen an. Der untere Bereich (Zone B) des Abfragefensters bildet den QBE - Entwurfsbereich. Man benötigt der Zone B um Feldern und Sätze auszuwählen sowie um Abfragekriterien, Berechnungen und Gruppierungen zu definieren.

Page 7: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zone A In dieser Zone kann man die Source der Daten

(die Basistebellen und/oder Abfragen) definieren.

Problem. Man soll die Verkäufer aus Hermannstadt mit Verkaufstransaktionen nach dem 08.03.1999 erhalten.

Lösung

Die notwendigen Informationen sind in zwei Tabellen gespeichert. Also, man braucht als Basistabellen die Tabellen KUNDEN und VERKAEUFE und die betreffende Beziehung

Page 8: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 9: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Bemerkung. Wenn man braucht mehreren Tabelle/Abfrage für welche keine Standard-beziehungen gibt, muss man die Tabellen/ Abfragen manuell verknüpfen und naher die

Verknüpfungseigenschaften definieren(Abb.5.9)

Page 10: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 11: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zone BZeile FELDER.

• Wenn man die Spaltenüberschrift ändern will, benutzt man die Syntax:

Spaltenname: Datenfeld. Beispiel: Mehrwertsteuer: MWSt.• Für die Berechnetefeldern der Syntax ist folgende:

Berechnetefelder: AusdruckBeispiel: Nettowert: [Menge] * [Preis]

• Berechnetefelder enthalten in aller Regel Ausdrücke, die auf mindestens einer Spalte des Dynaset basieren.

Page 12: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Die Formel können lang und komplex sein

Page 13: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 14: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zeile TABELLE. Diese Positionen werden automatisch geschrieben. Das

System weist vom welche Tabelle ein Datenfeld in der Zeile Felder ist.

Wenn in der Zone A man gibt mehrere Tabelle, die Feldauswahlliste zeigt wie folgt:

Tabelle1. *Tabelle1.Feld1Tabelle1.Feld2....Tabelle2.*Tabelle2.Feld1Tabelle2. Feld2...

wobei * bedeutet "Alle Felder".

Page 15: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zeile ANZEIGEN

Manchmal benötigt man Felder nur um Abfrage-kriterien oder eine Sortierreihenfolge zu definieren.

Die betreffenden Felder sollen in Dynaset nicht angezeigt werden.

In diesem Fall leehrt das betreffende Kontrollkästchen.

Page 16: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zeile SORTIERUNG

• Diese Zeile bietet die Möglichkeit das Dynaset sortieren.

• Man wählt die Sortierreihenfolge aus dem betreffende Kombinationsfeld.

Page 17: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Zeile KRITERIEN • Abfragekriterien schränken die Menge der

Datensätze im Dynaset ein. • Abfrage-kriterien bestehen aus logischen

Ausdrücke. Die meistens Abfragekriterien sind Vergleiche.

• Die wichtigsten Vergleichsoperatoren sind:> ;< ; =; >=; <= ; <>; Zwischen

• Man benutzt auch logische Operatoren:Aeqv; Exoder; Imp; Nicht; Oder; Und

• und aritmethische Operatoren:-; *; /; \; ^; +; Mod.

Page 18: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Abfrage Feld Kriterium Kunden aus Düsseldorf Ort "Düsseldorf" Kunden aus Düsseldorf Adresse Like "*Düsseldorf*" Die Datensätze mit einem MWSt von 19 und 22 Prozent

MWSt In (0.19; 0.22)

Kunden ohne Telefonnr. Tel Is Null Die Verträge aus März Datum Zwischen

#01/03/2003# und #31/03/2003#

Die Verträge aus März Monat: Month([Datum])

=3

Alle Verträge bei denen das Datum höchstens 10 Tage zurückliegt

Datum >= Datum( ) – 10

Verträge mit dem Wert zwischen 10 Tousend un 20 Tousend

Wert >= 10 und <=20 oder Zwischen 10 und 20

Page 19: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Parameter in Abfragekriterien.• Die Definition von Parametern ist

denkbar einfach. Man klick in die Kriterienzeile einer Spalte und gibt man in eckigen Klammern einen Text ein.

Problem:• Die Informationen (NrDok, Datum,

AnzahlAktien und Preis) ueber die Verkaufstransaktionen welche in einem bestimmten Periode und von einem bestimmte Verkaeufer gemacht werden.

Page 20: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 21: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 22: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 23: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Gruppierung von Datensätzen

• Mit Abfragen hat man die Möglichkeit, den Datenbestand zunächst nach einem oder mehreren Kriterien zu gruppieren, um anschließend Berechnungen durchfüren zu lassen.

• Die Bildung der Gruppen definiert man in der Funktionenzeile. Die Umschaltfläche von dieder Zeile bietet folgende Möglichkeiten:

Page 24: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

a. Gruppierung

- implizit und für die Gruppenfelder.

- Access erlaubt die Bildung mehrerer Gruppen.

- Wie die Sortierkriterien wertet Access auch die Gruppenkriterien von links nach rechts aus. Es kann daher vorkommen, daß man die Spalten des Dynasets neu anordnen muß.

Page 25: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

b. Liste der Aggregatfunktionen

- Man kann mehrere Gruppenkriterien auch mit mehreren Aggregatfunktionen kombinieren.

- So lassen sich beispielweise der durchschnittliche und der maximale Umsatz je Kundennummer und Rechnungsjahr ermitteln.

Page 26: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

c. Bedingung.

Neben der Definition von Kriterien für die berechneten Werte kann man auch Kriterien definieren, die die Datensätze vor der Berechnung ausschließen.

d. Ausdruck .

Der Eintrag AUSDRUCK aus dem Kombinationsfeld benutzt man wenn die betreffende Spalte ein Berechnetfeld enthält.

Page 27: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem: Zahlen der Bestellungen, die Gesammtsumme (Nettowert und Bruttowert), für ein Monat, wobei das Mehrwertsteuerprozent ein Parameter ist.

Page 28: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 29: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Aktionsabfragen

Aktionsabfragen können Datensätze automatisch aktualisieren, löschen oder anfügen.

Aktualisierungsabfragen.Der Befehl ist QUERY/Update Query. Der Zone B hat eine

spezielle Zeile: Update to. In der FELDERZEILE zieht man nun alle Datenfelder deren

Werte man ändern will. In der Zeile Update to man schreibt die neuen Werte

(Konstanten, Ausdrucken - mit oder ohne Parameter) für die Datenfelder.

Man kann gegebenenfalls Abfragekriterien definiren.

Page 30: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem: Man soll eine Abfrage für die Aktualisierung der Adresse eines bestimmten Kunden definieren

Page 31: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Anfügeabfrage

Mit einer Anfügeabfrage kann man Daten aus einer oder mehreren Tabellen extrahieren und diese an bereits existierende Tabellen anfügen.

Zeile Append to:Mit Hilfe dieser Zeile bestimmt man für jede Spalte

des Entwurfsbereiches, in welches Datenfeld die Daten aus den Quelltabellen übertragen werden sollen. Man kann auch Abfragekriterien definieren.

Page 32: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem: Man soll eine Tabelle mit allen Transaktionen (Die Verkauftransaktionen und die Einkauftransaktionen) ermitteln.

Page 33: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

LöschabfragenMit einer Löschabfrage kann man Datensätze, die

bestimmten Kriterien entsprechen, automatisch löschen lassen.

• Der erste Schritt zur Löschabfrage sollte stets eine Auswahlabfrage sein. Auswahlabfrage bietet die Möglichkeit, zunächst die Abfragekriterien zu überprüfen, bevor die Datensätze gelöscht werden.

• Weiter man wählt den Befehl Query/Delete Query

aus, um die Auswahl - in eine Löschabfrage umzuwandeln.

• Zeilen Delete.. where..

Page 34: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem 1: (basiert auf einer Tabelle)Man soll die Datensätze über die Verkauftransaktionen aus Oktober loeschen.

Page 35: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem 2: (basiert auf zwei Tabellen)Man soll die Datensätze über die Verkauftransaktionen aus Oktober loeschen welche bei einem bestimmten Broker gemacht wurden.

Page 36: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Kreuztabellenabfragen• Man benötigt Kreuztabellenabfragen nur , wenn man den

Datenbestand nach mindestens zwei Kriterien gruppieren will.

• Die Kreuztabellenabfragen ermöglichen eine bessere Darstellung von berechneten Ergebnissen, gut für die Analyse von Daten.

• Mit Kreuztabellenabfragen lassen sich die Ergebnisse in einer zweidimensionalen Tabelle anordnen.

• Die Kreuztabellenabfrage stellt die Werte des einen Gruppenkriteriums als Überschriften der Spalten und die Werte des anderen Gruppenkriteriums als Überschriften der Zeihlen einer Tabelle dar. Die Zellen der Tabelle werden dann von berechneten Werten gebildet.

Page 37: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Problem:Die Berechnung der kumulierten Werte fuer jeden Brokername, fuer jedes Verkaufsjahr und jeden Verkaufsmonat.

Hinweis. Man kann zunäschst eine normale Abfrage erstellen und diese dann in eine Kreuztabellenabfrage umwandeln.

• Das erste Gruppenkriterium ist also die Brokername. • Das zweite und das dritte Gruppenkriterium bedarf der

Anwendung eines kleinen Tricks: in die FELDZEILE zwei "Berechnetefelder" definieren und zwar:

Verkaufsjahr : Format([Datum];"jjjj") undVerkaufsmonat: Format([Datum]; "mmm")

• Als vierte Spalte benötigt man das Feld für den Wert (also die Summe von [Preis]* [AnzahlAktien])

Page 38: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 39: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 40: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

SQL – Abfragen• Die strukturierte Abfragesprache SQL (englisch:

Structured Query Language) bildet einen Standard zur Formulierung von Abfragen.

• Der Befehl Ansicht/SQL zeigt das SQL-Fenster einer Abfrage an. Das SQL und das Abfragefenster bilden zwei verschiedene Darstellungsformen derselben Abfrage.

• Wenn man Einstellungen des Abfragefensters ändern, aktualisiert Access automatisch den korrespondierenden SQL- Befehl und umgekehrt.

Problem:Man soll die Kunden welche in der Periode 25.01.99 –

30.08.99 Aktien eingekauft haben ermitteln.

Page 41: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die
Page 42: Die Abfragen Das Prinzip der Abfrage. Mit Abfragen stellt man Fragen über die Daten, die Access in Tabelle speichert. Bemerkungen: Das Abfrage ist die

Wiederholung der wichtigsten Operationen:

• Spalten und Zeilen auswählen.• Layout des Dynaset.• Sortieren nach mehrere Spalten.• Berechnete Felder.• Abfragen mit mehreren Kriterien. Nutzung den Operatoren,

Konstanten und Funktionen.• Parameter in Abfragekriterien.• Datensätze gruppieren.• Aggregatfunktionen.• Abfragekriterien bei Gruppenbildung.• Kreuztabellenabfragen.• Aktionsabfragen:• Bestehende Tabellen aktualisieren• Neue Tabellen erstellen• Datensätze an bestehende Tabelle anfügen• Datensätze löschen