Previous Page TOC Index Next Page See Page

26

Datenbankabfragen

Bisher haben Sie erfahren, auf welche Arten Sie Daten in Ihre Datenbank eingeben können. Nun erhalten Sie Informationen darüber, wie Sie Daten aus Ihrer Datenbank abrufen können. Eine der nützlichsten Funktionen der heutigen Datenbankanwendungen ist die Abfrage, die es Ihnen ermöglicht, »Fragen« an Ihre Datenbank zu stellen. Das Ergebnis einer solchen Abfrage (die »Antwort«) kann ausgedruckt oder auf dem Bildschirm ausgegeben werden. In diesem Kapitel wird die Abfragefunktion erklärt, und Sie erhalten Informationen darüber, wie Sie Informationen aus der Datenbank abfragen können.

Eine nähere Betrachtung von Abfragen

Eine Abfrage ist eine Aussage, die Access mitteilt, welche Informationen Sie aus einer oder mehreren Tabellen benötigen. Mit einer Abfrage können Sie auch Aktionen auf den Tabellendaten durchführen und Daten in einer datenblattähnlichen Form zusammenfassen lassen.

Sie können Abfragen beispielsweise für die folgenden Aufgaben benutzen:

Abfragen können als Informationsquelle für Ihr Formular oder Ihren Bericht benutzt werden. In diesen Fällen ermöglicht es Ihnen die Abfrage, einzelne Informationen aus mehreren Tabellen zu benutzen. Access führt die Abfrage jedesmal durch, wenn Sie das Formular oder den Bericht öffnen, so daß Sie sicher sein können, immer über die aktuellen Informationen zu verfügen.

Mit Access ist es möglich, die folgenden Abfragetypen zu erstellen:

Für jeden Abfragetyp können Sie spezielle Abfrage-Parameter einrichten, die die Benutzer eingeben müssen, bevor die Abfrage durchgeführt wird. In der Datenbank der Videothek, die in Kapitel 22 eingeführt wurde, können Sie eine Abfrage einrichten, die eine Liste aller Filme auf der Basis der einzelnen Kundenpräferenzen ausgibt.

Access gibt die Ergebnisse einer Abfrage oder einer Filtersortierung in einem Dynaset zurück. Ein Dynaset sieht aus wie eine Tabelle und reagiert auch so. Doch im Unterschied zur Tabelle werden hier die Daten einer dynamischen Ansicht auf einer oder mehreren Tabellen gezeigt. Sie können in einem Dynaset Daten eingeben oder überarbeiten. Nachdem Sie dies getan haben, aktualisiert Access automatisch die verknüpften Tabellen. Ein Dynaset ist einem Snapshot sehr ähnlich, beide gleichen einer Tabelle. Ein Snapshot läßt sich allerdings nicht überarbeiten. Kreuztabellen- und Summierungsabfragen sind Beispiele für Snapshots.


In einer Netzwerkumgebung, werden Änderungen, die durch andere Benutzer vorgenommen werden, im Dynaset und den damit verbundenen Tabellen berücksichtigt.

Dynasets sehen Tabellen so ähnlich, daß es manchmal schwer ist, sie davon zu unterscheiden. Vergessen Sie nicht, daß die Daten in der primären Tabelle gespeichert sind und nicht im Dynaset.

Erstellen einer neuen Abfrage

Um eine neue Abfrage zu erstellen, klicken Sie auf die Schaltfläche Neues Objekt: Abfrage in der Symbolleiste, oder wechseln Sie in das Datenbankfenster und wählen dort die Registerkarte Abfrage. Klicken Sie dort auf die Schaltfläche Neu. Der Dialog Neue Abfrage wird geöffnet (siehe Bild 26.1). Ähnlich wie bei den Tabellen und den Formularen, so bietet Access auch für die Erstellung der Abfragen unterschiedliche Methoden an.

Abbildung 26.1: Wenn Sie sich nicht sicher sind, wie Sie eine neue Abfrage einrichten können, dann benutzen Sie den Auswahlabfrage-Assistenten.

siehe Abbildung

Welche Methode Sie auch anwenden, es ist hilfreich, sich die Zeit zu nehmen, die Abfrage schon im Vorfeld zu entwerfen, also bevor Sie sie wirklich anlegen. Sie sollten zunächst die folgenden Punkte bedenken, bevor Sie beginnen:

Benutzung des Dialoges Neue Abfrage

In dem Dialog Neue Abfrage werden vier Basistypen für Abfragen bereitgehalten (siehe Bild 26.1).

Jeder Assistent wird Sie auffordern, spezifische Informationen einzugeben, die zu Erstellung des bestimmten Abfragetyps nötig sind. Auf jeden Fall müssen Sie die Tabelle oder die Abfrage angeben, auf der die neue Abfrage aufbauen soll.

Benutzung der Entwurfsansicht

Um eine Abfrage von Grund auf neu zu erstellen, wählen Sie Entwurfsansicht im Dialog Neue Abfrage. Access zeigt dann das Fenster Abfrage1: Auswahlabfrage und öffnet dann den Dialog Tabelle anzeigen (siehe Bild 26.2). Wenn Sie eine Tabelle auswählen, dann zeigt Access im Fenster der Auswahlabfrage eine Feldliste dieser Tabelle an.


Bevor Sie mit der Erstellung einer Abfrage beginnen, sollten Sie die Tabelle oder die Abfrage, auf der die neue Abfrage aufbauen soll, markieren. Wählen Sie dann die Schaltfläche Neue Abfrage, und Access wird die entsprechende Feldliste im Entwurfsfenster der Abfrage anzeigen. Andererseits werden Sie im Dialog Tabelle anzeigen danach gefragt, welche Tabellen oder Abfragen Sie benutzen wollen.

Abbildung 26.2: Im Dialog Tabelle anzeigen können Sie Tabellen und andere Abfragen in Ihre neu entworfene Abfrage einbauen.

siehe Abbildung

Um die Tabelle oder Abfrage auszuwählen, die Sie zu Ihrer Abfragedefinition hinzufügen wollen, klicken Sie doppelt mit der linken Maustaste darauf, oder markieren Sie den Namen der Tabelle oder der Abfrage und klicken dann auf die Schaltfläche Hinzufügen. Access fügt nun die Tabelle oder die Abfrage zum Fenster Abfrage1: Auswahlabfrage hinzu. Der Dialog Tabelle anzeigen bleibt weiterhin geöffnet, so daß Sie weitere Tabellen einfügen können, wenn dies nötig ist. Access findet automatisch jede Beziehung zwischen den unterschiedlichen Tabellen und fügt sie zur Abfragedefinition hinzu. Diese Beziehungen werden mit Linien zwischen den bezogenen Feldern angezeigt (siehe Bild 26.3).

Abbildung 26.3: Die hinzugefügten Tabellen werden im oberen Bereich der Abfrage-Entwurfsansicht angezeigt.

siehe Abbildung

Access findet automatisch die Beziehungen zwischen den Tabellen und zeigt Linien zwischen den entsprechenden Schlüsselfeldern (gleicher Feldname und Feldtyp) an. Diese Linien werden Verknüpfungslinien genannt und werden nur bei einer Abfrage angezeigt, für die mehrere Tabellen benutzt werden. Sie können diese Verknüpfungslinien auch selbst erzeugen, indem Sie ein Schlüsselfeld von einer Tabelle in eine andere ziehen.

Die untere Hälfte des Entwurfsfensters enthält ein Gitternetz für eine Beispielabfrage (»Query-by-Example« oder QBE), in der Sie Kriterien für die Abfrage festlegen können. QBE ermöglicht es Ihnen, Abfragekriterien einzurichten, indem Sie praktische Beispiele der benötigten Art von Daten eingeben. Wenn Sie zum Beispiel in einer Kundenabfrage alle Kunden im Bundesland Nordrhein-Westfalen finden wollen, dann geben Sie das Beispielelement »NRW« ein.

Nachdem Sie das Hinzufügen von Tabellen beendet haben, wählen Sie Schließen. Wenn Sie den Dialog Tabelle anzeigen erneut öffnen wollen, dann klicken Sie auf die Schaltfläche Tabelle anzeigen in der Symbolleiste, oder wählen Sie den Menüpunkt Abfrage/Tabelle anzeigen.


Als Standardeinstellung setzt Access den Abfragetyp »Auswahlabfrage«. Sie können den Abfragetyp verändern, indem Sie aus dem Abfragemenü einen anderen Typ auswählen oder die Schaltfläche Abfragetyp in der Symbolleiste verwenden.

Eine genauere Betrachtung des Abfrage-Fensters

Das Abfrage-Fenster läßt es zu, die Abfrage in verschiedenen Ansichten zu betrachten. Sie schalten diese Ansichten über das Menü Ansicht oder über die Symbolleiste um:

  • Entwurfsansicht. Wird dazu benutzt, um eine Abfrage zu erstellen.
  • SQL-Ansicht. Wird dazu benutzt, das der Abfrage zugrundeliegende SQL-Statement anzuzeigen und zu bearbeiten.
  • Datenblattansicht. Dient dazu, die Ergebnisse Ihrer Abfrage anzuzeigen.

Denken Sie daran, daß in Ergänzung zur Datenblattansicht die Ergebnisse einer Abfrage auch in einem Formular oder Bericht verwendet werden können.

Sie können Abfragen mit Hilfe von Drag&Drop auch in Word oder Excel einfügen. Dazu müssen Sie im Datenbankfenster ein Abfragesymbol oder in der Datenblattansicht markierte Daten in ein Word- oder Excel-Dokument ziehen (dieses Dokument muß allerdings geöffnet sein).

In der Symbolleiste des Abfragefensters finden Sie zahlreiche Schaltflächen, die Ihnen die Arbeit erleichtern. In Tabelle 26.1 werden diese Schaltflächen beschrieben.

Tabelle 26.1: Die Schaltflächen des Abfrageentwurfs

Schaltfläche

Name der Schaltfläche

Beschreibung

Ansicht

Dropdown-Liste mit verschiedenen Ansichtsmöglichkeiten: Entwurfsansicht, SQL-Ansicht oder Datenblattansicht

Speichern

Speichert den Abfrageentwurf

Drucken

Druckt ein Abfrage-Datenblatt

Seitenansicht

Zeigt die Seite vor dem Ausdruck in der Seitenansicht an

Rechtschreibung

Überprüft die Rechtschreibung in der Datenblattansicht

Ausschneiden

Entfernt markierte Daten oder Objekte und kopiert sie in die Zwischenablage

Kopieren

Kopiert markierte Daten oder Objekte in die Zwischenablage

Einfügen

Fügt den Inhalt der Zwischenablage ein

Rückgängig

Nimmt die letzte Änderung zurück

Abfragetyp

Dropdown-Liste mit den verschiedenen Abfragetypen: Auswahl-, Kreuztabellen-, Tabellenerstellungs-, Aktualisierungs-, Anfüge- und Löschabfrage

Ausführen

Führt die Abfrage aus

Tabelle anzeigen

Zeigt den Dialog Tabelle anzeigen mit den zur Verfügung stehenden Tabellen und Abfragen an

Funktionen

Zeigt oder verbirgt die Zeile Funktion im QBE-Entwurfsbereich der Abfrage

Hohe Werte

Dropdown-Liste mit Filterwerten (5, 25, 100, 5%, 25%, Alle)

Eigenschaften

Öffnet das Eigenschaftenfenster

Aufbauen

Öffnet einen Assistenten oder einen Editor

Datenbankfenster

Öffnet das Datenbankfenster

Neues Objekt

Dropdown-Liste, mit der die Erstellung eines Datenbankobjektes (z. B. Formular, Abfrage, Bericht) möglich ist

Office-Assistent

Öffnet den Office-Assistenten für Hilfestellungen

Entwurf einer Abfrage

Nachdem Sie eine neue Abfrage gestartet haben oder auf die Schaltfläche Entwurf für im Datenbankfenster für eine bestehende Abfrage geklickt haben, öffnet Windows das Abfrage-Fenster in der Entwurfsansicht. Die Entwurfsansicht für Abfragen ist in zwei Hauptbereiche unterteilt (siehe Bild 26.4). Im oberen Bereich ist eine Feldliste für jede Tabelle enthalten, die in dem Abfrageentwurf benutzt wird. Im unteren Bereich ist der QBE-Entwurfsbereich zu sehen, in dem Sie die Abfrage entwerfen können. Jede Spalte des QBE-Gitters ist einem Feld zugeordnet. Für jedes Feld können Sie Abfrage-Parameter, wie Kriterien oder Sortierung, in den Zeilen des QBE-Gitters festlegen.

Abbildung 26.4: Entwerfen Sie die Abfrage im QBE-Entwurfsbereich, in dem Sie Felder hinzufügen oder die Abfrage-Parameter einstellen.

siehe Abbildung

Felder auswählen

Der QBE-Entwurfsbereich besteht aus Spalten und Zeilen. Jede Spalte repräsentiert ein Feld, das in der Abfrage benutzt wird. Wenn Sie ein Feld in das QBE-Gitter hinzufügen wollen, dann klicken Sie doppelt auf das Feld in der Feldliste, oder ziehen Sie den Feldnamen in eine Spalte. Access füllt den Feldnamen ein und setzt das Kontrollfeld in der Zeile Anzeigen.

Um alle Felder in einer Feldliste zu markieren, klicken Sie doppelt auf den Tabellennamen und ziehen den markierten Bereich in das QBE-Gitter. Wenn Sie ein Feld entfernen wollen, dann aktivieren Sie den Feldmarkierer und drücken (Entf), oder positionieren Sie die Eingabemarke in der Spalte, und wählen Sie Bearbeiten/Spalte löschen.


Wenn Sie die Reihenfolge der Feldspalten verändern wollen, wählen Sie eine Spalte mit Hilfe des Feldmarkierers im QBE-Gitter aus und ziehen dann die Spalte an eine neue Stelle.

Angenommen, Sie wollen eine Liste mit den Namen Ihrer Freunde und deren Telefonnummern erstellen. Die Adressen und Geburtstage wollen Sie sich nicht anzeigen lassen. Obwohl alle diese Informationen in der Tabelle mit dem Namen Freunde gespeichert sind, können Sie auch nur einen Teilbereich der Informationen abrufen, indem Sie eine Abfrage erstellen, für die Sie nur die Felder für die Namen und Telefonnummern auswählen.

Das QBE-Gitter enthält eine zusätzliche Zeile, die in der Standardeinstellung verborgen ist: Funktion. Um sich diese Zeile anzusehen, wählen Sie den Menüpunkt Ansicht/Funktionen. Wenn diese aktiviert wurde, dann wird die Zeile Funktion unterhalb der Zeile Tabelle im QBE-Gitter angezeigt.


Access bietet auch eine Kreuztabellenabfrage an. Diese berechnet ein Feld aufgrund von Änderungen in zwei anderen Feldern. Wenn Sie auf die Schaltfläche für die Kreuztabellenabfrage klicken, dann erscheinen zwei neue Zeilen im QBE-Gitter: Funktion und Kreuztabelle. Die Funktionsreihe hat die gleichen Werte, die bereits oben bei der Funktionsabfrage genannt wurden (Summe, Mittelwert usw.). Setzen Sie den Wert in dieser Zeile für das Feld, das berechnet werden soll (in der Regel ein numerischer Feldtyp), und setzen Sie den Eintrag in der Kreuztabellenzeile auf »Wert«. In den anderen Feldern (in der Regel Textdatenfelder) wählen Sie Gruppierung in der Funktionszeile und Zeilen- oder Spaltenüberschrift in der Kreuztabellenzeile. Ein Beispiel dafür könnte sein: Angestellter (Gruppierung/Zeilenüberschrift) nach Bundesland (Gruppierung/Spaltenüberschrift) summierte Menge: (Summe/Wert).

Ich habe aus Versehen zu viele Tabellen in meinen Abfrageentwurf eingebunden. Klicken Sie auf den Titel der überflüssigen Tabelle, und drücken Sie (Entf).

Meine Abfrage umfaßt viel mehr Datensätze, als ich erwartet habe, und es dauert ziemlich lange, bis sie erstellt ist. Sie haben sehr wahrscheinlich keine Beziehung zwischen den Tabellen eingefügt. Kehren Sie zur Entwurfsansicht zurück, und löschen Sie dort entweder die überflüssigen Tabellen, oder richten Sie eine Tabellenbeziehung ein, indem Sie ein Feld von einer Tabelle zu einem anderen bezogenen Feld in einer anderen Tabelle ziehen.


Berechnungsfelder hinzufügen

Sie können auch Berechnungsfelder in ein QBE-Gitter einfügen. Berechnungsfelder sind temporäre Felder, die in einem Dynaset erstellt werden, wenn eine Abfrage aktiviert wird. In diesen Feldern werden die Ergebnisse der Berechnungen, die mit den Tabelleninhalten durchgeführt wurden, gespeichert. Dies kann zum Beispiel ein Kalkulationsaufschlag auf ein Produkt sein oder die Zusammenführung von Textfeldern.


Wenn Sie die Spaltenbreite verändern wollen, dann positionieren Sie den Mauszeiger oberhalb der Feldreihe auf der vertikalen Gitterlinie. Der Mauszeiger verändert seine Form in zwei entgegengesetzt zeigende Pfeile. Ziehen Sie nun die Gitterlinie auf die gewünschte Breite.

Wenn Sie ein neues Berechnungsfeld erstellen wollen, dann markieren Sie eine Zelle ohne Feldnamen im QBE-Entwurfsbereich. Sie können den Ausdruck (die Berechnung) direkt in die Zelle eingeben. Access vergibt dann einen Namen für dieses neue Feld, wie zum Beispiel »Ausdr1«, den Sie in einen aussagekräftigeren Namen verändern können. Alternativ dazu können Sie auch einen Dynaset-Feldnamen vergeben, der mit einem Doppelpunkt (:) abschließt, und dann die Berechnung oder Zusammenfügung eingeben. Feldnamen, die bei Berechnungen benutzt werden, müssen in Klammern stehen ([]), Leerzeichen müssen von Anführungszeichen eingefaßt sein. Nur numerische und arithmetische Operatoren brauchen nicht von Sonderzeichen eingefaßt werden. Der Name des neuen Berechnungsfeldes muß nicht in Klammern eingegeben werden. Sie können z. B. ein neues Feld mit dem Namen »Gesamt« erzeugen, indem Sie folgendes eingeben:

Gesamt: [Stückpreis]*


Wenn Sie innerhalb von Berechnungen oder Ausdrücken Feldnamen verwenden, dann fügt Access automatisch eckige Klammern um die Feldnamen ein, wenn der Name nur aus einem Wort besteht. Aus diesem Grunde ist es ratsam, immer nur ein Wort als Feldname zu wählen (z. B. »Kundenvorname« anstatt »Vorname Kunde«). Selbstverständlich können Sie jederzeit Feldnamen in Klammern setzen, um sicher zu sein, daß Access den Feldnamen korrekt in die Berechnung einfügt.

Sie können auch auf die Schaltfläche Aufbauen in der Symbolleiste klicken, um den Ausdruck-Editor aufzurufen, der Ihnen bei der Erstellung eines Ausdrucks behilflich ist. Im folgenden erhalten Sie einige Beispielberechnungen:

  • Preis um 5% erhöhen: [Preis]*1.05
  • Die ersten drei Stellen der Postleitzahl: Links ([Postleitzahl]); 5)
  • Namenszusammenführung: Verkäufer:[Vorname] & » « &
  • Erweiterte Preisangabe: ([Preis]*[Menge]*(1-[Rabatt])/100)*100
  • Jahr: Format ([Auslieferungsdatum], »jjjj«)
  • Monat: Format ([Auslieferungsdatum], »mmm«)
  • Tage zwischen zwei Daten: DatDiff (»t«, [Bestelldatum], [Auslieferungsdatum])

In Bild 26.5 sehen Sie eine Verkettung von Textfeldern, nämlich den Vornamen und den Nachnamen des Mitglieds und eine Berechnung, die geplante Verkäufe basierend auf dem Preis inklusive 10% Zuschlag erstellt.

Abbildung 26.5: Berechnungsfelder erlauben es Ihnen, Berechnungen in Abfragen und das Verketten von Textfeldern durchzuführen.

siehe Abbildung

Um ein Berechnungsfeld zu erstellen, befolgen Sie diese Schritte:

  • Gehen Sie in eine leere Spalte im QBE-Gitter.
  • Geben Sie den Namen für das neue Berechnungsfeld und einen Doppelpunkt (:) in der Feldzeile ein.
  • Fahren Sie mit der Eingabe in der Zelle des Feldnamens fort, und fügen Sie den gewünschten Berechnungsausdruck ein.
  • Speichern Sie die Abfragen, und führen Sie sie aus.

Um den Inhalt des QBE-Entwurfsbereichs schnell zu löschen, wählen Sie den Menüpunkt Bearbeiten/Alles löschen.

Hinzufügen einer Gruppenkalkulation

Manchmal müssen Berechnungen mit Datensatzgruppen durchgeführt werden, anstatt mit einzelnen Datensätzen (siehe Bild 26.6). Sie können sich zum Beispiel den Gesamtumsatz in einem Bundesland anschauen oder sich die Werbekosten für ein einzelnes Produkt berechnen lassen. Access ermöglicht es Ihnen, anspruchsvolle Berechnungen mit Gruppen von Datensätzen vorzunehmen. Sie können zum Beispiel den durchschnittlichen Umsatz einer Abteilung oder die maximale Anzahl an Arbeitsstunden je Arbeitsbereich berechnen lassen.

Abbildung 26.6: Benutzen Sie die Zeile Funktion, um die Abfrageergebnisse nach Datensätzen zu gruppieren und Gruppenberechnungen durchführen zu lassen.

siehe Abbildung


Benutzen Sie in der Zeile Funktion mehrere Felder mit Gruppieren, wenn Sie Funktionsergebnisse für verschiedene Gruppen erhalten wollen.

Sie legen Gruppen mit der Zeile Funktion fest. Um diese Zeile anzeigen zu lassen, wählen Sie den Menüpunkt Ansicht/Funktionen. Nachdem die Funktionszeile im QBE-Gitter angezeigt ist, setzt Access automatisch die Bezeichnung Gruppierung für jedes Feld ein. Benutzen Sie die Gruppierung, um die Felder (Gruppen), die Sie bei der Berechnung einsetzen wollen, auszuwählen.

Sie können die Feldbezeichnung Gruppierung jederzeit in eine der folgenden Berechnungsarten verändern:

  • Summe: Summiert die Feldwerte.
  • Mittelwert: Ermittelt den Mittelwert der Felddaten.
  • Min: Sucht den kleinsten Feldwert.
  • Max: Sucht den größten Feldwert.
  • Anzahl: Gibt die Anzahl der Werte in einem Feld aus. Nullwerte werden dabei nicht berücksichtigt.
  • StdAbw: Berechnet die Standardabweichung (Quadratwurzel der Varianz) für die Feldwerte.
  • Varianz: Berechnet die Varianz der Feldwerte.
  • Erster Wert: Gibt den ersten Wert in einem Feld zurück.
  • Letzter Wert: Gibt den letzten Wert in einem Feld zurück.
  • Ausdruck: Ermöglicht Ihnen die Erstellung eines Berechnungsfeldes für eine Gruppe.
  • Bedingung: Ermöglicht es Ihnen, spezifische Kriterien für ein Feld anzugeben, das Sie nicht für die Gruppendefinition benutzen.

Die Berechnungstypen wie Summe, Mittelwert und Varianz, die mit Funktionen verknüpft sind, können nur für die folgenden Datentypen eingesetzt werden: Zahl, Datum/Uhrzeit, Währung, Zähler und Ja/Nein. Der Datentyp OLE-Objekt ist für die Funktionen Anzahl, Erster Wert und Letzter Wert gültig.

Um Gruppenberechnungen durchzuführen, folgen Sie diesen Schritten:

  • Erstellen Sie eine Auswahlabfrage.
  • Fügen Sie in der Entwurfsansicht die Reihe Funktion ein, indem Sie Ansicht/Funktionen wählen.
  • Wählen Sie in der Funktionszelle für jedes Feld einen Funktionstyp.
  • Wenn die Funktion für alle Datensätze einzeln gelten soll, dann sollte in keiner Zelle der Funktionstyp Gruppierung gewählt sein.
  • Wenn die Funktionen für Datensatzgruppen berechnet werden sollen, setzen Sie die entsprechenden Zellen in der Zeile Funktion auf Gruppierung.
  • Speichern Sie die Abfrage.
  • Führen Sie die Abfrage aus, oder wechseln Sie in die Datenblattansicht.

Abfrage-Kriterien spezifizieren

Die Zeile Kriterien (siehe Bild 26.7) im QBE-Entwurfsbereich ermöglicht es Ihnen, in Ihre Abfrage nur Datensätze einzubinden, die bestimmten Kriterien entsprechen. Kriterien sind die Bedingungen, die zur Auswahl von Datensätzen angewandt werden. Diese Option wird sicherlich häufiger eingesetzt als alle anderen.

Abbildung 26.7: Beschränken Sie die Anzahl der Datensätze, die als Abfrageergebnis zurückgeliefert werden, indem Sie einige Bedingungen in der Zeile Kriterien eintragen.

siehe Abbildung

Sie können Datensätze auswählen, indem Sie eine der folgenden Bedingungen einsetzen:

  • Exakte Übereinstimmung: Verwenden Sie einen fest vorgegebenen Wert, wie zum Beispiel den Textstring »NRW« oder einen genauen Währungsbetrag wie »1000«, den die Feldwerte der Datensätze exakt erfüllen müssen.
  • Übereinstimmung mit Platzhalterzeichen: Akzeptiert eine Kombination von fest vorgegebenen Zeichen und Platzhalterzeichen (siehe auch Tabelle 26.2), wie zum Beispiel »N*« oder »1###«, die die Feldwerte erfüllen müssen.
  • Ausschluß-Übereinstimmung: Benutzt den Operator »Nicht«, um Datensätze auszusortieren, die nicht dem Kriterium entsprechen, zum Beispiel »Nicht NRW«.
  • Datumsübereinstimmung: Benutzt das genaue Datum oder den Operator »Datum()«, der dem aktuellen Tagesdatum entspricht. Zum Beispiel könnten Sie »20.02.1997« oder »Datum()« als Kriterium eingeben.

Um alle Ausleihvorgänge in 1997 zu finden, könnten Sie das Kriterium »*.*.97« oder »Zwischen 1.1.97 und 31.12.97« eingeben.
  • Leere Werte: Setzt den Operator »Ist Null« ein, um festzulegen, daß Sie nur die leeren Werte sehen wollen. Auf der anderen Seite können Sie »Nicht (Ist Null)« einsetzen, um zu bestimmen, daß keine leeren Werte in Ihrem Abfrageergebnis enthalten sind.

Um alle Adressen ohne Postleitzahl zu finden, setzen Sie in der Zeile Kriterien als Wert für das Postleitzahlenfeld »Ist Null« ein.
  • Vergleichsoperatoren: Benutzen Sie einen der Vergleichsoperatoren (siehe auch Tabelle 26.3), um die Daten in den Datensätzen mit bestimmten Bedingungen zu vergleichen. So können Sie zum Beispiel »<Datum()« eingeben, um Datensätze auszuwählen, die vor dem aktuellen Tagesdatum liegen.
  • Ja/Nein-Werte: Setzen Sie »Ja«, »Wahr«, »An« oder »-1«, um Ja-Werte zu kennzeichnen. Mit »Nein«, »Falsch«, »Aus« oder »0« legen Sie Nein-Werte fest.
  • Mehrfachkriterien: Benutzen Sie logische Operatoren (siehe Tabelle 26.4), um mehrere Kriterien für ein Feld festzulegen. Benutzen Sie die gleiche Kriterienzeile, um mehrere Kriterien anzugeben, die mehrere Felder betreffen sollen. Dabei müssen dann alle Felder die Kriterien erfüllen (logische »Und«-Verknüpfung). Benutzen Sie mehrere Kriterienzeilen, wird eine logische Verknüpfung der einzelnen Zeilen mit »Oder« vorgenommen.

Tabelle 26.2: Platzhalterzeichen

Operator

Beschreibung

*

Anstelle einer beliebigen Anzahl von Zeichens einsetzbar.

?

Anstelle eines einzelnen, beliebigen Zeichens einsetzbar.

#

Anstelle einer einzelnen, beliebigen Zahl.


Einsetzbar, um ein Zeichen aus der in Klammern angegebenen Auswahl einsetzen zu lassen. »H[au]hn« findet »Hahn« und »Huhn«, aber nicht »Hohn«.

!

Einsetzbar, um in Klammern Zeichen anzugeben, die nicht gefunden werden sollen. »H[!au]hn« findet »Hohn«, aber nicht »Hahn« oder »Huhn«.

-

Einsetzbar für ein Zeichen aus einem bestimmten Zeichenbereich. »H[o-u]hn« findet »Hohn«, »Hphn«, »Hqhn« usw. bis »Huhn«.

Wie

Einsetzbar für die Suche nach beliebigen Zeichenmustern. Benutzen Sie zum Beispiel »Wie"[A-D]*"«, um eine Liste der Mitglieder zu sehen, deren Namen mit A, B, C oder D beginnen. Access ergänzt häufig automatisch »Wie« im QBE-Gitter, ohne daß Sie es tippen müssen.


Weitere Informationen über die Operatoren erhalten Sie über die Online-Hilfe. Drücken Sie dazu (Umschalt)+(F1), und klicken Sie dann in die Zeile Kriterien.

Tabelle 26.3: Vergleichsoperatoren

Operator

Beschreibung

>

Größer als

<

Kleiner als

<=

Kleiner oder gleich

=>

Größer als oder gleich

<>

Ungleich

=

Gleich

Tabelle 26.4: Logische Operatoren

Operator

Beschreibung

Und

Es ist erforderlich, daß alle Kriterien erfüllt werden.

Oder

Es ist der erforderlich, daß eines der Kriterien erfüllt wird.

Nicht

Es ist erforderlich, daß das Kriterium nicht erfüllt wird.

Zwischen X und Y

Es ist erforderlich, daß der Wert im angegebenen Bereich liegt.

IN

Es ist erforderlich, daß der Wert einem in einer Liste angegebenen Wert entspricht.


Sie können mehrere Kriterienzeilen für jedes Feld füllen. Solche Mehrfachzeilen für Kriterien verwenden eine Oder-Verknüpfung. Mehrfachkriterien in derselben Zeile erzeugen solange eine »Und«-Verknüpfung, bis das Schlüsselwort »Oder« angegeben wird.

Sortierung der Abfrage-Ergebnisse

In der Standardeinstellung erscheinen die Ergebnisse einer Abfrage unsortiert, also in der Reihenfolge, in der die Abfrageantworten gefunden wurden. Sie können eine Sortierordnung festlegen, in der Ergebnisse angezeigt werden sollen, damit Sie verständlicher oder übersichtlicher sind.

In der Zeile Sortierung im QBE-Gitter befindet sich eine Dropdown-Liste, die die folgenden Optionen enthält:

  • Aufsteigend
  • Absteigend
  • (nicht sortiert)

Als Standardeinstellung ist (nicht sortiert) ausgewählt. Um eine Sortierreihenfolge festzulegen, markieren Sie die Felder, und wählen Sie dann die Reihenfolge aus der Dropdown-Liste.

Festlegung der Abfrage-Eigenschaften

Sie können sich die Eigenschaften einer Abfrage, einer Tabellen-Feldliste, die bei der Abfrage benutzt wird, oder eines individuellen Feldes anschauen und verändern. Um sich die Eigenschaft eines dieser Objekte anzusehen und zu verändern, wählen Sie Ansicht/Eigenschaften, um den Eigenschaften-Dialog zu öffnen. Klicken Sie dann auf das Objekt, dessen Eigenschaften Sie verändern wollen. Der Inhalt des Eigenschaften-Dialogs verändert sich und zeigt jeweils die neu gewählten Eigenschaften des ausgewählten Objekts an.

Sie wollen vielleicht das Format eines Berechnungsfeldes so verändern, daß eine bestimmte Anzahl von Dezimalstellen bei einer Zahl angezeigt wird.

Eine wichtige Abfrage-Eigenschaft ist die Eigenschaft Keine Duplikate (siehe Bild 26.8). In der Standardeinstellung ist diese Eigenschaft auf Nein gesetzt. Dies bedeutet, daß Duplikate der Datensätze, wenn Sie existieren und Ihren Kriterien entsprechen, im Dynaset aufgelistet werden. Um Duplikat-Werte auszuschließen, setzen Sie die Eigenschaft Keine Duplikate auf Ja.

Wenn es das Ziel Ihrer Abfrage sein soll, Filmkategorien und die Ausleihrate pro Kategorie festzustellen, dann würde Ihre Abfrage mit Standardeinstellung die Duplikate beider Kategorien auflisten. Um die Kategorien nur einmal aufzulisten, setzen Sie die Eigenschaft Keine Duplikate auf Ja.

Abbildung 26.8: Setzen Sie die Abfrage-Eigenschaft Keine Duplikate auf Ja, um Duplikatwerte aus dem Dynaset auszuschließen.

siehe Abbildung


Ich möchte die Daten aus zwei Textfeldern in einem einzigen Feld meines Abfrage-Dynasets ausgeben. Benutzen Sie dazu ein Berechnungsfeld und eine die Zeichenverkettung, wie in dem Feld »Kunde:« in Bild 26.5 gezeigt wird. Geben Sie in eine leere Feldzelle einen neuen Feldnamen und einen Doppelpunkt ein. Nach dem Doppelpunkt geben Sie, falls nötig, den Feldnamen in Klammern ein. Zwischen die Feldnamen setzen Sie ein Und-Zeichen (&). Wenn Sie Leerzeichen oder Text zwischen den Feldern einfügen wollen, dann benutzen Sie zwei Anführungszeichen und ein weiteres »&«.

([Feld1]&« und »&[Feld2])

Die Abfrage braucht bei der Ausführung zuviel Zeit. Innerhalb von Access können Sie die Effizienz der Abfrage durch Rushmore-Optimierung erhöhen. In erster Linie verlangt diese Technologie, daß Sie einen Index für die Felder erzeugen, die Sie in Ihrer Abfrage benutzen. Wenn Sie mehr Informationen über die Rushmore-Optimierung erhalten wollen, dann suchen Sie unter dem Hilfethema »Optimieren der Abfrageleistung«.

Ich führe oft Abfragen durch, die sich auf unsichere Kriterien (wie z. B. nur teilweise bekannte Namen) stützen. Welche Operatoren sind dabei am vorteilhaftesten? Wenn Sie mit ungenauen Daten arbeiten, dann ist der beste Operator, den Sie einsetzen können, »Wie«, der nach allen Werten sucht, die dem angegebenen Wert ähnlich sind. Sie können natürlich auch den Platzhalter-Operator »*« an Stellen einsetzen, an denen es Abweichungen geben wird (zum Beispiel »Wie »H*hn"«).


Benutzung von Aktionsabfragen

Wenn Sie eine Anzahl von Datensätzen auf einmal aktualisieren wollen, dann wählen Sie am besten eine Aktionsabfrage. Für eine Aktionsabfrage müssen Sie zunächst eine Auswahlabfrage erstellen und dann den Abfragetyp in eine Aktionsabfrage verändern. In Tabelle 26.5 sehen Sie die verschiedenen möglichen Aktionsabfragen. Wenn Sie eine Aktionsabfragen erstellen wollen, dann befolgen Sie diese Schritte:

  • Erstellen Sie als erstes eine Auswahlabfrage, die alle Felder und allen nötigen Kriterien auflistet.
  • Zeigen Sie das Ergebnis der Auswahlabfrage in der Datenblattansicht an, um sicher zu gehen, daß Sie die richtigen Felder und Datensätze auswählen.
  • Verändern Sie die Abfrage in eine Aktionsabfrage, indem Sie das Menü Abfrage benutzen. Sie können auch auf die Schaltfläche Abfragetyp in der Symbolleiste klicken und dann aus der Dropdown-Liste einen Abfragetyp aussuchen (siehe auch Tabelle 26.5).
  • Wenn Sie aufgefordert werden, einen Tabellennamen einzugeben (bei Tabellenerstellungsabfragen oder Anfügeabfragen), dann wählen Sie aus der Dropdown-Liste der Tabellennamen eine Tabelle aus.
  • Wählen Sie Abfrage/Ausführen, oder klicken Sie auf die Schaltfläche Ausführen.
  • Lesen Sie die Warnhinweise, und antworten Sie überlegt (siehe Bild 26.9).

Abbildung 26.9: Beachten Sie, daß der Dialog Sie darauf aufmerksam macht, daß Sie keine der angegebenen Änderungen rückgängig machen können, und Sie fragt, ob Sie sicher sind, daß Sie fortfahren möchten.

siehe Abbildung


Lassen Sie besondere Vorsicht walten, wenn Sie mit einer Aktionsabfrage arbeiten. Nachdem Sie alle Warnhinweise quittiert haben, ist es nicht mehr möglich, die Änderungen zurückzunehmen, und Sie riskieren, die falschen Daten zu ändern. Bis Sie sich ganz sicher sind, daß Sie Ihre Daten nicht völlig durcheinander bringen, sollten Sie eine Sicherungskopie der Datenbank oder aller Tabellen anlegen, die von einer Aktualisierungsabfrage betroffen sind. Um eine Sicherungskopie anzulegen, gehen Sie zur Registerkarte Tabelle im Datenbankfenster und drücken dort die Tastenkombination (Strg)+(C). Um die neue Tabelle einzufügen, drücken Sie (Strg)+(V). Vergeben Sie nun einen neuen Namen wie zum Beispiel »Sicherungskopie Mitglieder«.

Sie können Ihre Daten auch aktualisieren, indem Sie eine Aktionsabfrage im Datenbankfenster öffnen. Aus diesem Grund sollten Sie, falls Sie die Aktionsabfrage nicht ständig benötigen und sie deshalb sichern wollen, diese Abfrage aus dem Datenbankfenster löschen, um zu verhindern, daß Sie (oder irgendein anderer Benutzer) aus Versehen auf die Abfrage klickt und sie auslöst.

In Tabellle 26.5 sehen Sie die verschiedenen Arten von Aktionsabfragen, die zur Verfügung stehen. Klicken Sie auf die Schaltfläche Abfragetyp in der Symbolleiste, und wählen Sie eines der Symbole, die in der ersten Spalte angezeigt werden, aus. Wenn Sie diese Abfragen speichern wollen, dann wird dem Abfragenamen im Datenbankfenster dasselbe Symbol vorangestellt. Ein Ausrufezeichen hinter dem Symbol soll Sie davor warnen, daß Access größere Datenveränderungen vornehmen wird, wenn Sie diese Abfrage ausführen. Bedenken Sie, daß Sie die Abfrage bereits erneut ausführen, wenn Sie sie aus dem Datenbankfenster erneut öffnen (mit der Schaltfläche Öffnen oder durch Doppelklick).

Tabelle 26.5: Abfragetypen

Symbol

Abfragetyp

Beschreibung

Auswahlabfrage

Benutzen Sie die Auswahlabfrage, bevor Sie eine Aktionsabfrage erstellen.

Tabellenerstellungsabfrage

Erstellt eine neue Tabelle basierend auf den Feldern, die Sie in Ihrem QBE-Gitter eingerichtet haben. Geben Sie den Tabellennamen ein, nachdem Sie auf die Schaltfläche für diesen Abfragetyp geklickt haben.

Aktualisierungsabfrage

Verändert die Werte für die Felder, die Sie markiert haben. Nachdem Sie auf die Schaltfläche Abfragetyp geklickt haben, wird eine neue Zeile mit dem Namen Aktualisieren in das QBE-Gitter eingefügt. Geben Sie einen Ausdruck in dieser Zeile ein. In der Spalte für das Preisfeld können Sie zum Beispiel »[Preis]*1.25« eingeben, um den Preis um 25% zu erhöhen.

Anfügeabfrage

Fügt Datensätze am Ende der Tabelle an, die Sie angegeben haben. Nachdem Sie auf die Schaltfläche für den Abfragetyp geklickt haben, wählen Sie den Namen einer existierenden Tabelle aus. Sie sehen eine neue Zeile Anfügen an im QBE-Gitter. Wenn die Feldnamen der beiden Tabellen unterschiedlich sein sollten, dann wählen Sie unterhalb des Feldnamens der aktuellen Tabelle den entsprechenden Namen in der Zieltabelle in der Zeile Anfügen an.

Löschabfrage

Löscht jedes Feld, daß den von Ihnen aufgestellten Kriterien entspricht.


Ich habe aus Versehen eine Aktionsabfrage ausgeführt, obwohl dies nicht vorgesehen war. Benutzen Sie in diesem Fall die Sicherungskopie der Datenbank, oder ändern Sie den Namen der Sicherungskopie einer Tabelle in den eigentlichen Namen der Tabelle zurück. Wenn Sie keine Sicherungskopie angelegt haben, dann sind Ihre Daten verloren.

Ich habe eine Auswahlabfrage erstellt, und nun stelle ich fest, daß ich eine Anfügeabfrage hätten erstellen müssen. Anstatt die Abfrage neu zu erstellen, können Sie den Abfragetyp, in der Entwurfsansicht verändern und die weiter benötigten Informationen eingeben. Öffnen Sie die Abfrage in der Entwurfsansicht, klicken Sie auf die Schaltfläche Abfragetyp, und wählen Sie dort Anfügeabfrage. Access fordert Sie auf, den Namen der Tabelle einzugeben, an die Sie Daten anfügen wollen, und (falls erforderlich) den Datenbanknamen.



(c) 1997 Que
Ein Imprint des Markt&Technik Buch- und Software- Verlag GmbH
Elektronische Fassung des Titels: Special Edition: Office 97, ISBN: 3-8272-1018-6

Previous Page Page Top TOC Index Next Page See Page