Datenaufbereitung mit Auswahlabfrage 7 Datenaufbereitung mit Auswahlabfragen Ziele dieses Kapitels A Sie machen sich mit dem Erstellen, dem Bearbeiten und dem Ausführen von Auswahlabfragen vertraut. A Sie testen neue Bedingungsausdrücke. A Sie lernen die Parameterabfrage kennen. A Sie werten Daten aus mehreren Tabellen aus. A Sie testen erneut, wie hilfreich die Assistenten sein können. Microsoft® Office Access 2003 Einführung - 87 - Datenaufbereitung mit Auswahlabfrage Sie kennen bereits die Möglichkeit, Ihre Tabellen mit Hilfe von Filtern auszuwerten. Wesentlich flexibler und anwenderfreundlicher als Filter sind in Access so genannte Abfragen, die Sie einmal erstellen, um wiederholt benötigte Datenauswertungen schnell zu erhalten. Im „Spezialfilter“ haben Sie im Grunde bereits die Arbeit mit Abfragen kennen gelernt. Diese Kenntnisse wollen wir in diesem Kapitel weiter vertiefen. 7.1 Auswahlabfragen mit dem Assistenten erstellen Wechseln Sie im Datenbankfenster der Datenbank „Personal“ zunächst zur Objektkategorie „Abfragen“, indem Sie links in der Leiste auf Abfragen klicken. Für das Erstellen neuer Abfragen steht Ihnen wie bei den Tabellen ein Assistent zur Verfügung. Testen Sie sein Können am folgenden Beispiel. B Sie erstellen eine Abfrage mit dem Assistenten, bei der Sie aus der Tabelle „Stammdaten“ alle Berliner Einträge selektieren. 1. Doppelklicken Sie den Eintrag Erstellt eine Abfrage unter Verwendung des Assistenten oder wählen Sie den Befehl Einfügen, Abfrage und dann den Auswahlabfrage-Assistent. und klicken Sie auf . 2. Wählen Sie aus den Tabellen/Abfragen die Tabelle Stammdaten und bringen Sie mit die in der folgenden Abbildung zu sehenden Felder aus der Liste „Verfügbare Felder:“ in die Liste „Ausgewählte Felder:“. Klicken Sie auf Weiter. Abb. 7.1: Auswahl der Tabelle und der Felder im Assistenten 3. Notieren Sie den Abfragenamen Berliner Mitarbeiter und klicken Sie auf Fertig stellen. Access öffnet die neue Abfrage, die allerdings noch keine Datenselektion vornimmt. 4. Klicken Sie auf die Schaltfläche , um in die Entwurfsansicht zu gelangen. - 88 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage 5. Klicken Sie unter dem Feld „Ort“ in die Zeile Kriterien und notieren Sie dort die Bedingung „Berlin“. Speichern und testen Sie die Abfrage, indem Sie auf das klicken. Symbol Abb. 7.2: Der Abfrageentwurf mit dem Bedingungsausdruck Betrachten Sie die Ergebnistabelle Ihrer Abfrage. Sie sollte aus den Stammdaten nun nur noch die Berliner Mitarbeiter anzeigen. Erstellen Sie eine Auswahlabfrage mit dem Assistenten, können Sie nur Tabelle(n) und Felder auswählen. Das Eingeben von Bedingungen („Berlin“) ist anschließend noch „echte Handarbeit“. 7.2 Auswahlabfragen manuell erstellen Da auch das Einrichten einer Abfrage mit dem Assistenten einen guten Teil Handarbeit verlangt, liegt es nahe, die gesamte Abfrage manuell zu erstellen. Wir probieren das an einem Beispiel: B In der Tabelle „Stammdaten“ wählen Sie per Abfrage alle Mitarbeiter aus, deren Vorname mit einem „W“ beginnt. 1. Doppelklicken Sie im Datenbankfenster die Option Erstellt eine neue Abfrage in der Entwurfsansicht. 2. Markieren Sie im Dialog „Tabellen anzeigen“ die Tabelle Stammdaten und klicken zuerst auf Hinzufügen, dann auf Schließen. 3. Die Feldauswahl treffen Sie, indem Sie in der gewünschten Reihenfolge die Feldnamen im oberen Teil doppelklicken oder mit gedrückter Maustaste nach unten auf die gewünschte Spalte ziehen. Legen Sie einige Felder, darunter auf jeden Fall das Feld Vorname in die Abfrage. 4. Notieren Sie in der Zeile „Kriterien“ des Feldes „Vorname“ den Ausdruck „W*“ und drücken Sie die -Taste . Access ändert den Ausdruck in „Wie ‚W*’“. Microsoft® Office Access 2003 Einführung - 89 - Datenaufbereitung mit Auswahlabfrage 5. Klicken Sie auf , speichern Sie die Abfrage unter dem Namen Alle Vornamen mit W und klicken Sie auf OK. 6. Wechseln Sie zur Datenblattansicht, um die Abfrage zu testen. Schließen Sie die Abfrage mit Datei, Schließen. Abb. 7.3: Manuell erstellte Abfrage 7.3 Abfragen bearbeiten und ausführen Im Datenbankfenster sehen Sie nun Ihre gespeicherten Abfragen. Im Moment, in dem Sie mit einem Doppelklick eine Auswertung öffnen, führt Access diese Abfrage in den damit verbundenen Tabellen durch. So erhalten Sie immer eine aktuelle Auswertung Ihrer Tabellen. 7.3.1 Die Arbeit im QBE-Fenster Um eine Abfrage zu bearbeiten, markieren Sie eine Abfrage und klicken Sie auf Entwurf. Einen Abfrageentwurf erkennen Sie auch an der Abkürzung „QBE“. Dieses Kürzel steht für „Query By Example“, frei übersetzt eine „Abfrage anhand eines Beispieles“. Die Arbeit im „QBE“-Fenster ist einfach und auch ein Datenbank-Einsteiger kommt schnell damit zurecht. Zu den Hinweisen, die Sie im Abschnitt über das Verwenden von Filtern bereits gelesen haben, finden Sie hier weitere Hinweise zur Arbeit im QBE-Fenster. A Neben dem Doppelklick oder dem Ziehen eines Feldes haben Sie auch im unteren Bereich die Möglichkeiten, Felder in die Abfrage aufzunehmen. Klicken Sie in die Zeile Feld:. Es erscheint der Listenfeldschalter und Sie können das Feld auch aus der Liste wählen. - 90 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Abb. 7.4: Feldauswahl in der Abfragedefinition A Manchmal möchten Sie die Reihenfolge der Felder ändern. Klicken Sie dazu in den schmalen Spaltenkopf, um die gesamte Spalte zu markieren. Zum Verschieben der markierten Spalte(n) klicken Sie erneut in den Spaltenkopf und verschieben die markierte(n) Spalte(n) an die gewünschte Position. A Das Entfernen von Feldern aus der Abfragedefinition ist genau so einfach. Markieren Sie die betreffende(n) Spalte(n) und drücken dann die Taste . A Sollten Sie einen längeren Ausdruck in die Zeile „Kriterien:“ schreiben, zeigt Ihnen Access diesen Ausdruck wegen der engen Spalte nicht komplett an. Sie könnten nun die Spalte verbreitern. Leichter ist es aber über die rechte Maustaste. Im Kontextmenü sehen Sie den Befehl Zoom. Im Zoom-Fenster ist es leichter, einen längeren Ausdruck zu bearbeiten. 7.3.2 Was ist SQL? Bei Abfragen haben Sie nicht nur die Wahl zwischen „Entwurf“ und „Datenblatt“. Wenn Sie sich in der Entwurfsansicht befinden, haben Sie über den Listenpfeil des Symbols in der Symbolleiste Zugriff unter anderem auf eine weitere, die SQL-Ansicht. Abb. 7.5: Wechsel zur SQL-Ansicht Microsoft® Office Access 2003 Einführung - 91 - Datenaufbereitung mit Auswahlabfrage Wählen Sie diese Ansicht, erhalten Sie einen Einblick darin, wie Access intern Ihre Abfrage speichert. Die Abkürzung „SQL“ steht für „Structured Query Language“ (auf Deutsch soviel wie „Strukturierte Abfragesprache“). SQL ist die Standardsprache vieler Datenbanken und bildet damit eine wichtige Grundlage für den Datenaustausch zwischen verschiedenen Systemen. Wenn Sie mit SQL vertraut sind, können Sie hier, aber auch in Formularen und Berichten mit SQL-Ausdrücken arbeiten. Aber keine Sorge: Sie müssen SQL nicht beherrschen, um mit Access arbeiten zu können. Aber Sie werden noch SQL-Ausdrücke kennen lernen, die Sie dann wie gewohnt mit QBE bearbeiten können. Abb. 7.6: Abfragedefinition in SQL 7.3.3 Weitere Bedingungs- und Berechnungsausdrücke Im Kapitel über die Filter haben wir bereits Grundsätzliches zur Formulierung von Ausdrücken gesagt. Hier zeigen wir Ihnen weitere Beispiele, wie Sie Bedingungen in Abfragen formulieren. Ausdruck Beschreibung Ist Null Zeigt die Datensätze an, deren so definiertes Feld den Wert Null hat („wurde übergangen“) Ist Nicht Null Zeigt die Datensätze an, deren so definiertes Feld einen Eintrag enthält „“ Zeigt die Datensätze an, deren Feldeintrag eine leere Zeichenfolge („“) enthält. Die Feldeigenschaft „Leere Zeichenfolge“ steht auf „Ja“. Zwischen Datum() Und DatAdd("m",6,Datum()) Verwendet die Funktionen „DatAdd()“ und „Datum()“; zeigt die Projekte an, deren Enddatum innerhalb der nächsten sechs Monate ab dem heutigen Datum liegt < Datum()-100 Zeigt die Projekte, deren Anfangsdatum mehr als 100 Tage zurückliegt - 92 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Ausdruck Beschreibung Jahr([Geboren])>1980 Zeigt die Personen, deren Geburtsjahr nach 1980 liegt DatTeil("q",[Enddatum])=4 Zeigt alle Projekte mit Enddatum im vierten Quartal an Monat([Geboren])=5 Zeigt alle Personen an, deren Geburtsmonat der Mai ist 7.3.4 Der Ausdrucks-Generator Beim Schreiben von Ausdrücken können Sie die Hilfe des „Ausdrucksgenerators“ in Anspruch nehmen. Er stellt alle Operatoren, Funktionen und so weiter zur Verfügung. B Sie formulieren einen komplexen Ausdruck unter Zuhilfenahme des AusdrucksGenerators. 1. Öffnen Sie die Abfrage „Berliner Mitarbeiter“ im Entwurf. 2. Klicken Sie in einer beliebigen Spalte in die Zeile Kriterien und dann in der Symbolleiste auf das Symbol für „Aufbauen“. Diesen Befehl erreichen Sie auch im Kontextmenü der Zeile „Kriterien“. Abb. 7.7: Ausdrucksgenerator 3. Unter dem leeren Textfenster stehen Ihnen für alle Operatoren und Sonderzeichen entsprechende Schaltflächen zur Verfügung. Klicken Sie einfach auf den benötigten Operator, um ihn ins Textfeld einzutragen. Sie können aber jeden Operator auch über die Tastatur einfügen. Microsoft® Office Access 2003 Einführung - 93 - Datenaufbereitung mit Auswahlabfrage 4. Im unteren Teil wählen Sie links die „Hauptkategorien“ von Ausdruckselementen, zum Beispiel unter Funktionen die Eingebauten Funktionen. 5. In der Mitte sehen Sie dann die „Funktionskategorien“, aus denen Sie die benötigte Kategorie auswählen, zum Beispiel Datum/Uhrzeit. 6. Im rechten Teil können Sie nun aus der Liste der Datum/Uhrzeit-Funktionen die gesuchte Funktion, zum Beispiel Datum doppelklicken, um sie als „Datum ()“ in das Textfeld einzufügen. 7. Fahren Sie mit weiter benötigten Elementen in dieser Art und Weise fort. 8. Klicken Sie zum Schluss auf OK, um die Bedingung(en) Ihrer Abfrage in die Auswahlabfrage zu übernehmen. 9. Bevor Sie die Auswahlabfrage schließen, müssen Sie die Änderungen über Ja speichern oder über Nein verwerfen. 7.4 Parameterabfragen Wenn Sie eine Abfrage benötigen, bei der Sie erst zum Zeitpunkt der Ausführung ein Kriterium zum Filtern oder Sortieren angeben möchten, ist eine so genannte Parameterabfrage die richtige Wahl. Nehmen wir an, Sie möchten eine Abfrage erstellen, bei der Sie die Wohnorte Ihrer Mitarbeiter ermitteln. Sie möchten aber erst bei der Abfrage den Ort eingeben, nach dem Access Ihre Daten selektiert. B Sie erstellen eine Parameterabfrage. 1. Erstellen Sie in der Datenbank „Personal“ eine neue Abfrage in der Entwurfsansicht. Fügen Sie dem Entwurf die Tabelle Stammdaten hinzu und nehmen Sie gewünschte Felder, darunter auf jeden Fall das Feld Ort, in die Abfrage auf. 2. Notieren Sie in die Zeile „Kriterien“ des Feldes „Ort“ eine so genannte Eingabeaufforderung. Dazu muss der Text in eckigen Klammern stehen, beispielsweise [Bitte geben Sie den Ort ein:]. Abb. 7.8: Parameter-Ausdruck in der Abfrage 3. Wechseln Sie über das Symbol in der Symbolleiste zur Datenblattansicht. 4. Tragen Sie in der Eingabeaufforderung einen Ort ein, zum Beispiel Berlin und klicken dann auf OK. - 94 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Abb. 7.9: Eingabeaufforderung bei einer Parameterabfrage 5. Speichern Sie die Abfrage anschließend unter dem Namen Parameterabfrage nach Ort. C Da Sie Feldnamen in eckigen Klammern schreiben, versucht Access zunächst, einen Feldnamen dieser Schreibweise zu finden. Diesen gibt es aber nicht. Deshalb erscheint die Eingabeaufforderung für einen (Access unbekannten) Parameter. Diese Methode eignet sich für ein Feld oder maximal zwei Felder. Das Abfragen von noch mehr Feldern ist lästig, weil Access die Parameter nur nacheinander abfragt. C In der Eingabeaufforderung können Sie keine Platzhalter verwenden. Eine Suche nach „B*“ (alle Orte, die mit „B“ beginnen) funktioniert nicht, da Access das Platzhalterzeichen im Parameter nicht als solches behandelt. Wenn Sie den KriterienAusdruck aber so formulieren: Wie [Bitte geben Sie den Ort ein:], wertet Access auch Eingaben mit Platzhalter, zum Beispiel B*, aus. 7.5 Berechnete Felder Tabellen sollten im Idealfall nur rohe Daten enthalten, keine berechneten Felder. Für das Berechnen von Werten auf der Grundlage der Rohdaten sind Abfragen sehr viel besser geeignet. Wir zeigen ihnen an einem Beispiel, wie Sie in einer Abfrage mit Tabellendaten rechnen können. B Sie lassen sich in einer Abfrage der Tabelle „Projekte“ in der Datenbank „Personal“ die Projektdauer in Tagen anzeigen. 1. Erstellen Sie eine neue Abfrage und fügen dem Entwurf die Tabelle Projekte hinzu. 2. Nehmen Sie das Feld Projektname in die Abfrage auf. 3. Klicken Sie in der ersten leeren Spalte in die Zeile Feld: und notieren Sie den folgenden Ausdruck: Projektdauer: [Enddatum]-[Anfangsdatum] „Tage“. Microsoft® Office Access 2003 Einführung - 95 - Datenaufbereitung mit Auswahlabfrage Abb. 7.10: Rechenausdruck statt Feldname 4. Speichern Sie Ihre Abfrage unter dem Namen Projektdauer. Führen Sie die Abfrage aus und schauen sich das Ergebnis an: Abb. 7.11: Berechnete Abfrage nach Projektdauer 7.6 Auswahlabfragen mit mehreren Tabellen Abfragen sind das Mittel, um zusammengehörige Daten aus Tabellen zusammenzuführen. Nehmen wir an, Sie benötigen aus der Datenbank „Personal“ eine Liste mit allen Angaben zu den Mitarbeitern. Dazu müssen Sie die Daten aus den Tabellen „Stammdaten“ und „Gehaltsangaben“ zusammenführen. B Sie erstellen eine Auswahlabfrage aus mehreren Tabellen. 1. Erstellen Sie eine neue Abfrage und fügen Sie dem Entwurf die Tabellen Stammdaten und Gehaltsangaben hinzu. - 96 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Abb. 7.12: Abfrageentwurf mit verknüpften Tabellen 2. Ziehen Sie die oben zu sehenden Felder nach unten, speichern Sie die Abfrage als MA mit Gehaltsangaben und testen Sie die Abfrage. Abb. 7.13: Abfrageentwurf mit verknüpften Tabellen Ihre Verknüpfungen („Beziehungen“) führen grundsätzlich dazu, dass Access nur solche Datensätze anzeigt, die gemeinsame Werte in den verknüpften Tabellen haben. Bringen Sie zwei Tabellen ohne Beziehung in eine Abfrage, erhalten Sie bei Ausführung der Abfrage eine Tabelle, in der Access jeden Datensatz der einen mit jedem Datensatz der anderen Tabelle zusammenstellt. Die Zahl der gezeigten Datensätze im Abfrageergebnis entspricht damit dem Produkt der Zahl der Datensätze beider Tabellen. 7.7 Verknüpfungseigenschaften bei Abfragen mit mehreren Tabellen Beim Verknüpfen von Feldern gibt es drei verschiedene Varianten. Im gezeigten Beispiel hatten Sie es mit einer Standardverknüpfung zu tun, wobei nur Datensätze zu sehen sind, die in den verknüpften Feldern gleiche Inhalte haben. In manchen Fällen müssen Sie aber alle Datensätze einer Tabelle anzeigen, unabhängig davon, ob sie eine Entsprechung in der anderen Tabelle haben oder nicht. Microsoft® Office Access 2003 Einführung - 97 - Datenaufbereitung mit Auswahlabfrage B Eine Abfrage in der Datenbank „Personal“ soll alle Mitarbeiter anzeigen und – sofern vorhanden – auch Angaben zu den betreuten Projekten. 1. Erstellen Sie eine neue Abfrage, der sie die Tabellen Stammdaten und Projekte hinzufügen. 2. Doppelklicken Sie die Verknüpfungslinie, um die Eigenschaften der Verknüpfung anzuzeigen. Alternativ können Sie dazu auch den Befehl Ansicht, Verknüpfungseigenschaften verwenden. Abb. 7.14: Die Verknüpfungseigenschaften von Tabellen 3. Wählen Sie die Option „2: Beinhaltet ALLE Datensätze aus 'Stammdaten'… und klicken dann auf OK. 4. Wählen Sie als Zielfelder für die Abfrage ID, Nachname und Projektname aus. Abb. 7.15: Verknüpfungen mit ausgewählten Feldern 5. Speichern Sie die Abfrage unter dem Namen Alle MA und ihre Projekte und testen Sie die Abfrage. - 98 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Abb. 7.16: Fertige Abfrage Während der Mitarbeiter mit mehreren Projekten („Jansen“) auch mehrfach mit den Projektangaben zu sehen ist, gibt es bei den Mitarbeitern ohne Projektverantwortung entsprechend Lücken bei den Projektdaten. 7.8 Gruppieren von Daten Es kommt häufig vor, dass Sie gleiche Daten in Auswertungen zusammenfassen möchten. Mit solchen zusammengefassten (gruppierten) Daten können Sie dann auch noch Berechnungen durchführen. B Sie zählen in der Datenbank „Personal“ aus, wie viele Personen jeweils aus dem gleichen Ort kommen. 1. Erstellen Sie eine neue Abfrage, der Sie die Tabelle Stammdaten hinzufügen. 2. Fügen Sie der Abfrage die Felder Ort und ID hinzu. 3. Klicken Sie im Feld „Ort:“ im Kontextmenü (rechte Maustaste) auf die Schaltfläche Funktionen, um die Funktionen anzuzeigen. Alternativ können Sie auch den Befehl Ansicht, Funktionen wählen. Die Funktion Gruppierung ist bereits ausgewählt. 4. Wählen Sie in der Zeile „Funktion“ unter dem Feld „ID“ den Eintrag Anzahl. In der Zeile „Feld“ setzen Sie den Text Leute: (mit Doppelpunkt!) vor den Feldnamen „ID“. Abb. 7.17: Abfrage mit Funktionen Microsoft® Office Access 2003 Einführung - 99 - Datenaufbereitung mit Auswahlabfrage 5. Speichern Sie die Abfrage unter dem Namen Wie viele MA pro Ort? und testen Sie sie. Neben der Gruppierung sehen Sie in der Abfrage eine typische statistische Funktion. Sie können also Summen oder auch Mittelwerte für gruppierte Daten bilden. Wichtig ist, welchen Feldern Sie die Funktion Gruppierung zuweisen. Access gruppiert immer die Kombination der Felder. Im gezeigten Fall wäre es zum Beispiel nicht sinnvoll, das Feld „Nachname“ hinzuzufügen (um vielleicht zu sehen, wie die Leute heißen). Die Kombination aus „Nachname“ und „Ort“ ist sinnlos, weil sie in den meisten (wenn nicht in allen) Fällen einmalig ist. Die Folge: Sie sähen in einer solchen Abfrage alle Datensätze der Tabelle „Stammdaten“. 7.9 Assistent zur Duplikatsuche Ist eine Datenbank nicht wirklich sauber geplant, angelegt und mit Daten gefüllt, finden sich in den meisten Fällen Redundanz und Inkonsistenz: Es gibt doppelt und dreifach erfasste Daten („Redundanz“) sowie unterschiedliche Schreibweisen („Inkonsistenz“). Solchen Problemen, die die Effektivität einer Datenbank sehr beeinträchtigen können, kommen Sie unter anderem mit Hilfe des „Assistenten zur Duplikatsuche“ auf die Spur. Um diesen Assistenten ausprobieren zu können, müssen wir uns – weil wir ja bis jetzt keine Redundanzen geschaffen haben – zunächst künstlich ein solches Problem machen. Öffnen Sie dazu die Tabelle Projekt. Fügen Sie einen neuen Datensatz hinzu. Schreiben Sie in das Feld „Projektname“ noch einmal Access 2003 und in das Feld „Projektbeschreibung“ diesmal Handbuch zur Datenbankanwendung. Übernehmen Sie bei Anfangs- und Enddatum die Angaben aus dem ersten Datensatz diese Tabelle. Damit haben Sie eine Redundanz („Access 2003“) geschaffen. Abb. 7.17: Tabelle mit redundanten und inkonsistenten Daten B Sie spüren doppelte Datensätze in der Tabelle „Projekte“ auf. 1. Wechseln Sie im Datenbankfenster zu den Abfragen. 2. Wählen Sie dort den Befehl Einfügen, Abfrage und im folgenden Dialog AbfrageAssistent zur Duplikatsuche. Klicken Sie auf OK. 3. Markieren Sie im nächsten Schritt die Tabelle: Projekte und klicken auf Weiter. - 100 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage 4. Legen Sie nun fest, welche Felder Sie auf doppelte Inhalte prüfen lassen. Wählen Sie hier das Feld Projektname und klicken auf Weiter. Abb. 7.18: Abfrage-Assistent zur Duplikatsuche 5. Wählen Sie noch die Felder aus, die Sie in der Abfrage sehen möchten. Nehmen Sie über das Symbol einfach alle. Klicken Sie auf Weiter. 6. Im letzten Schritt legen Sie einen Namen für die Abfrage fest. Sie können den vorgeschlagenen Namen übernehmen und mit Klick auf Fertig stellen die Abfrage fertig stellen. Im angezeigten Abfrageergebnis ist nun der doppelte Datensatz zu sehen. Sie könnten nun den doppelten Datensatz löschen. Schauen Sie in den Entwurf der Abfrage. In der Zeile „Kriterien“ der ersten Spalte sehen Sie einen SQL-Ausdruck, den Sie wahrscheinlich nicht so ohne weiteres selbst geschrieben hätten. 7.10 Assistent zur Inkonsistenzsuche Glücklicher Weise finden Sie in unserer „Personal“-Datenbank auch keine Inkonsistenzen. Schon beim Erfassen von Daten achtet Access darauf, dass Ihnen solche Inkonsistenzen nicht passieren. Deshalb müssen wir an dieser Stelle etwas nachhelfen. Erstellen Sie eine neue Tabelle in der Datenblattansicht und fügen Sie einen Datensatz hinzu, so wie in der Abb. 7.19 zu sehen ist. Speichern Sie die Tabelle unter dem Namen Abteilungsleiter und lassen Sie von Access einen Primärschlüssel hinzufügen. Microsoft® Office Access 2003 Einführung - 101 - Datenaufbereitung mit Auswahlabfrage Abb. 7.19: Tabelle mit Inkonsistenz zur Tabelle „Stammdaten“ B Sie spüren die Dateninkonsistenz in der Tabelle „Abteilungsleiter“ auf. 1. Wählen Sie im Datenbankfenster den Befehl Einfügen, Abfrage. Markieren Sie im folgenden Dialog Abfrage-Assistent zur Inkonsistenzsuche und klicken auf OK. 2. Wählen Sie die Tabelle Abteilungsleiter und klicken auf Weiter. 3. Im zweiten Schritt wählen Sie die Tabelle Stammdaten und klicken wieder auf Weiter. Abb. 7.20: Auswahl der verknüpften Felder im Abfrage-Assistent 4. Im dritten Schritt legen Sie die gemeinsamen Felder beider Tabellen fest, zum Beispiel „Vorname“ und „Vorname“. Diese Felder sind in beiden Tabellen enthalten, aber unterschiedlichen Inhalts. Markieren Sie auf jeder Seite jeweils das zu verknüpfende Feld und klicken auf die Schaltfläche in der Mitte. Klicken Sie dann auf Weiter. 5. Legen Sie im vierten Schritt noch fest, welche Felder in der Abfrage zu zeigen sind. Vorschlag: Klicken Sie auf , um alle Felder zu übernehmen. 6. Bestätigen Sie im letzten Schritt den vorgegebenen Abfragenamen und lassen Sie die Abfrage Fertig stellen. - 102 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage Im Ergebnis zeigt Access Ihnen den Mitarbeiter/Abteilungsleiter „Lampe“, weil es für diesen Datensatz in der Tabelle „Abteilungsleiter“ aufgrund seines abweichenden Vornamens keine Entsprechung in der Tabelle „Stammdaten“ gibt. Sie haben also eine Dateninkonsistenz aufgespürt. Wechseln Sie in die Tabelle Abteilungsleiter und korrigieren Sie den Vornamen so, wie er in der Tabelle „Stammdaten“ erfasst ist („Werner“). Starten Sie noch einmal die Abfrage Abteilungsleiter ohne übereinstimmende Stammdaten. Sie zeigt nun eine leere Tabelle, weil es keine Abweichung („Inkonsistenz“) im Feld „Vorname“ mehr gibt. Wenn Sie sich den Entwurf der Abfrage anschauen, sehen Sie, wie diese Abfrage funktioniert: Access vergleicht alle Datensätze im Feld „Vorname“ der Tabelle „Abteilungsleiter“ mit dem entsprechenden Feld der Tabelle „Stammdaten“ mit dem Kriterium „Ist Null“. Ist ein Eintrag in diesem Feld der Tabelle „Abteilungsleiter“ nicht in der Tabelle „Stammdaten“ enthalten, listet Access diesen Eintrag der Tabelle „Abteilungsleiter“ in der Abfrage auf. Übungsaufgaben Für diese Übungen öffnen Sie bitte die Beispieldatenbank „Nordwind“. A Erstellen Sie aus der Tabelle „Personal“ eine Auswahlabfrage nach allen Vertriebsmitarbeitern. A Suchen Sie alle Mitarbeiter aus der Region „WA“ (aus dem Staat „Washington“) A Erstellen Sie eine Abfrage, die zeigt wie viele Mitarbeiter in welcher Position beschäftigt sind. Zusammenfassung A Mit den Auswahlabfragen können Sie wiederholt benötigte, aber immer aktuelle Daten aus Ihren Tabellen selektieren. A Mit Hilfe von Parameterabfragen können Sie Selektionskriterien bei jedem Ausführen der Abfrage eingeben. A Über Verknüpfungen können Sie Daten aus mehreren Tabellen zusammenfassen. A Die Abfrage-Assistenten ermöglichen auch Datenbank-Neulingen das Erstellen komplexer Abfragen. Microsoft® Office Access 2003 Einführung - 103 - Datenaufbereitung mit Auswahlabfrage Testaufgaben A Frage 1: Eine Abfrage soll alle Datensätze mit einem Gehalt von € 1000 bis € 5000 selektieren. Wie lautet der Kriterienausdruck für das Feld „Gehalt“? A. >1000 Und <5000 B. Zwischen 1000 Und 5000 C. >=“1000“ Und <=“5000“ D. >=1000 Und <=5000 E. >=#1000# Und <=#5000# A Frage 2: Sie möchten aus dem Tabellenfeld „Straße“ alle Einträge mit der Hausnummer „13“ ermitteln. Alle Einträge sind nach dem Schema „Straße-Leerschritt-Hausnummer“ (Beispiel: „Drosselgasse 14“) aufgebaut. Wie lautet der richtige Ausdruck? A. [Straße]?? B. *13 C. * 13 D. *13* A Frage 3: Aus der Spalte „Name“ einer Tabelle sollen Sie die Einträge „Baier“, „Bayer“, „Bader“, „Bauer“, „Baker“, „Baser“ und „Bater“ ausfiltern. Wie lautet der Ausdruck dafür? A. Ba*er B. Ba?er C. Ba* D. Ba*?? A Frage 4: In Bedingungsausdrücken in Abfragen verknüpft man mehrere Kriterien mit den Operatoren UND beziehungsweise ODER. Wo liegt der Unterschied? A. Bei der UND-Verknüpfung müssen alle Kriterien erfüllt sein, während bei der ODERVerknüpfung nur ein Kriterium erfüllt sein muss, damit Access einen Datensatz zeigt. B. Die UND-Verknüpfung braucht man bei der Aufzählung von Datensätzen. Die ODERVerknüpfung dient der Auswahl einzelner Datensätze. C. Bei der ODER-Verknüpfung müssen alle Kriterien erfüllt sein, während bei der UNDVerknüpfung nur ein Kriterium erfüllt sein muss, um den Datensatz sehen zu können. D. Zwischen der UND- und der ODER-Verknüpfung gibt es nur in der SQL-Ansicht der Abfrage Unterschiede, nämlich in der Schreibweise. - 104 - © ikon VerlagsGesmbH, 2004 Datenaufbereitung mit Auswahlabfrage A Frage 5: Wozu verwenden Sie Parameter-Abfragen? A. Parameter-Abfragen dienen dazu, gleichartige Daten zusammenzufassen und statistische Berechnungen anzustellen. B. Parameter-Abfragen ermitteln die wichtigsten Kennziffern (Parameter) des Datenbanksystems. C. Mit Parameter-Abfragen können Sie Trends aus den Tabellenwerten errechnen lassen. D. Parameter-Abfragen dienen dazu, erst zum Zeitpunkt der Abfrage ein Kriterium eingeben zu können. Microsoft® Office Access 2003 Einführung - 105 -