MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 1 – Erstelldatum 19.02.04 1. Datenbanksysteme 1.1. Definition Ein Datenbanksystem ist ein rechnergestütztes System zur Beschreibung, Speicherung und Wiedergewinnung umfangreicher Datenmengen. Abb. 1–1 Datenbanksystem 1.2. Komponenten 1. Datenbank(en) (data base) Eine Datenbank ist eine integrierte, strukturierte Sammlung von Daten, die zueinander in Beziehung stehen. Die Daten repräsentieren Informationen über eine interessierende organisatorische Einheit (Miniwelt). 2. Datenbankmanagementsystem (data base management system – DBMS) Ein Datenbankmanagementsystem (DBMS) ermöglicht die zentrale Verwaltung und Kontrolle des Datenbestandes (d.h. der Datenbanken) und koordiniert den Zugriff der Anwendungsprogramme auf die verwalteten Daten. 1.3. Ziele/ Vorteile Redundanzvermeidung (mehrfache Speicherung derselben Datenwerte) bzw. -verringerung durch Datenintegration Vermeidung von Inkonsistenz Durch das DBMS kontrollierte Redundanz und Konsistenz, d.h. Freiheit von logischen Widersprüchen. Werden mehrere Kopien eines Datensatzes gehalten, so werden Änderungen/Löschungen an alle Kopien weitergegeben) MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 2 – Erstelldatum 19.02.04 Flexible Auswertbarkeit der Daten Vielfältige Abfragemöglichkeiten Erzwingung von Standards Fähigkeit zum Mehrbenutzerbetrieb; Vielfachzugriffe Datensicherheit im Fehlerfalle Datenintegrität (z.B. Einhaltung von Bedingungen, die korrekte Datenzustände definieren) Integritätsbedingungen ( z.B. Wertebereiche, Verknüpfungen usw.) Zugriffsschutz (organisatorisch; logisch) Nutzungskontrolle Datenunabhängigkeit Leichtere Pflege Einheitliche Handhabung 1.4. Typische Anwendungsgebiete Wirtschaft, Verwaltung, Forschung, Technik, ... überall dort, wo große Datenmengen mit hohem Qualitätsanspruch zu verarbeiten sind. Hierzu zählen auch Entwurfsprozesse (CAD), Expertensysteme, Kartographie, Bildverarbeitung, statistische Erhebungen. Umsetzung in der Praxis Die verwendeten Datenbanksysteme sind i.d.R. Standard-Software-Pakete, die den speziellen Anwendungsbedürfnissen/ Kundenwünschen angepaßt werden (Customizing). 1.5. Relationenmodell Microsoft Access gehört zur Klasse der relationalen Datenbank Management Systeme oder kurz relationale Datenbanksysteme genannt. Das relationale Datenbankmodell wurde 1970 von E. F. Codd entwickelt. Das Relationenmodell (relational data model) ist das derzeit wichtigste Datenmodell. Grundelement ist die Tabelle (Relation). Alle Daten werden in Tabellenform abgespeichert, d.h. jede Tabelle entspricht einer Objektklasse und die Eigenschaften für jedes Objekt dieser Objektklasse werden in den Feldern der Tabelle gespeichert. 1.5.1. Vorteile des Relationenmodells hohe Datenunabhängigkeit hohe Flexibilität leichte Handhabung abstrakte problemorientierte Sicht der Daten Ein weiteres wichtiges Merkmal von relationalen Datenbanken ist die Existenz eines Primärschlüssels zur eindeutigen Identifikation jedes Datensatzes enthalten. Desweiteren werden relationale Datenbanksysteme durch ihre relationalen Verknüpfungen bestimmt, d.h. durch die Beziehungen zwischen den einzelnen Tabellen. Eine Verknüpfung erfolgt über Referenzfelder, die in beiden Tabellen enthalten sein müssen. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 3 – Erstelldatum 19.02.04 1.5.2. Referentielle Integrität Ziel der referentiellen Integrität ist es, zu verhindern, daß Datensätze erstellt werden, zu denen keine Referenz vorhanden ist, und daß keine Referenzen gelöscht werden, zu denen noch Datensätze vorhanden sind. Es macht z.B. wenig Sinn, einen Auftrag zu erstellen, dem kein Kunde zugeordnet ist, da so ein überflüssiger Datensatz entstehen würde. Folglich muß ein Kunde vorhanden sein, dem der Auftrag zugeordnet werden kann. Ebensowenig ist es wünschenswert, daß ein Kunde gelöscht wird, zu dem noch Aufträge vorhanden sind. Demnach müssen erst alle Aufträge des entsprechenden Kunden gelöscht sein, damit der Kunde entfernt werden kann. Die Überprüfung und Einhaltung dieser Regeln sichert die referentielle Integrität. Die Definition einer relationalen Verknüpfung mit referentieller Integrität unter Microsoft Access beeinflußt somit die Eingabe und das Löschen von Datensätzen positiv und vermeidet Fehler. 1.5.3. Entity Relationship Diagramm Bei der Umsetzung des konzeptionellen Datenbankmodells in eine Datenbank unter Microsoft Access sind noch zwei weitere Schritte zu beachten. Zum einen sollten Sie ein Entity Relationship Diagramm (ERDiagramm) entwerfen, in dem das Datenbankmodell grafisch dargestellt wird. Zusätzlich ist es ratsam, bestimmte Namenskonventionen zu beachten und einzuhalten. Dies vereinfacht die nachträgliche Bearbeitung zum Beispiel durch andere Personen oder bei späteren Änderungen erheblich. Das Entity Rela tionship Modell wurde 1976 von P. Chen vorgestellt. ER-Diagramm = Grafische Darstellung der Datenbankstruktur 1.5.3.1. Entwurfsschritte 1. Objekte (entity) und Beziehungen (relationship) zwischen den Objekten identifizieren. 2. Objekte mit gemeinsamen Eigenschaften zu Objekttypen zusammenfassen. Attribute (= beschreibende Eigenschaften) festlegen. Attribute können hierbei identifizie rend (=> Schlüssel) oder nur beschreibend sein. 3. Grafische Darstellung der Objekttypen, Beziehungen und Attribute in Diagrammform. 4. Klassifizierung der Beziehungsarten 1:1, l:n, n:m 5. Erstellung des konzeptionellen Schemas anhand des ER-Diagramms. 1.5.3.2. Syntax Objekttypen: Rechtecke Beziehungen: Rauten Attribute: Ovale Schlüssel: unterstrichene Bezeichner 1.5.3.3. Gegenstände und Beziehungen Das Entity Relationship Modell beinhaltet die Entitäten (Entity = Gegenstand) und die Beziehungen (Relationship). Die Begriffe Entität und Datensatz sind synonym. Bei Entitäten handelt es sich wie bei Artikelnummer MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 4 – Erstelldatum 19.02.04 Datensätzen um Objekte, die in einer Zeile der Datenbanktabelle durch ihre Attribute (Eigenschaften) beschrieben werden, zum Beispiel einen Kunden mit Name, Wohnort, Telefon und so weiter. Abb. 1–2 Beispiel für ein ER-Modell In einem ER-Modell werden auch die Beziehungen zwischen den verschiedenen Entitäten beschrieben. Man unterscheidet dabei die konkrete Beziehung zwischen zwei Objekten und den Beziehungstyp. Der Beziehungstyp legt die Referenzfelder fest, über welche die beiden Objekte miteinander verknüpft sind. Die konkrete Beziehung entsteht aber erst dann, wenn in den Referenzfeldern Werte eingetragen werden. In der vorherigen Abbildung sehen Sie beispielsweise den Beziehungstyp zu Zahlen. Über die Referenzfelder KD-Nr und A-Nr verknüpft dieser Beziehungstyp die Entitätstypen Kunden und Auftrag. Konkrete Beziehungen bestehen zwischen Kunde Nr. 1 und Auftrag Nr. 3 sowie zwischen Kunde Nr. 7 und Auftrag Nr. 1 und 2. Die Entitäts- und Beziehungstypen des ER-Diagramms werden durch beschriftete Kanten verbunden. Die Beschriftung der Kanten gibt die sogenannte Komplexität der Beziehung an. Bei der Beziehung zwischen Kunden und Auftrag handelt es sich um eine 1:n Komplexität, die man auch als Eins-zu-VieleBeziehung bezeichnen kann. 1.5.3.4. Entitätstypen Um festzulegen, durch welche Eigenschaft die Objekte beschrieben werden, definieren Sie für die verschiedenen Objektklassen sogenannte Entitätstypen. Jeder Entitätstyp kennzeichnet die Eigenschaften gleichartiger Entitäten und ist damit das Äquivalent zu den Tabellen einer Datenbank. Abb. 1–2 zeigt den Zusammenhang zwischen Entitätstypen, Entitäten und Feldern. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 5 – Erstelldatum 19.02.04 1.5.3.5. Beziehungen (Relationen) 1 : 1 Þ Für jeden Datensatz in Tabelle 1 existiert genau ein Datensatz in Tabelle 2. Theoretisch könnte diese Beziehung aufgelöst werden, denn die Daten aus Tabelle 2 lassen sich auch in Tabelle 1 speichern. Es gibt allerdings Fälle, in denen 1:1-Beziehungen sinnvoll sind: Sicherheitsaspekte (Die vertraulichen Daten werden in einer extra Tabelle gespeichert.) Performance (Selten gebrauchte Daten werden in eine zweite Tabelle ausgelagert) Einschränkungen (Das Datenbanksystem stellt nicht genügend Tabellenspalten zur Verfügung, um alle Attribute in einer Tabelle zu speichern.) Beispiel Damit nicht jeder Mitarbeiter, der auf Tabelle 1 zugreifen kann, erfährt, wieviel der Kollege verdient bzw. wie oft er krank war, werden diese Informationen in einer zweiten Tabelle gespeichert, auf die nur einige auserwählte Mitarbeiter zugreifen können. 1 : n Þ Zu jedem Datensatz der Tabelle 1 können beliebig viele Datensätze (0...n) in Tabelle 2 existieren. Umgekehrt gilt: zu jedem Datensatz in Tabelle 2 gibt es genau einen Datensatz in Tabelle 1. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 6 – Erstelldatum 19.02.04 Beispiel: Raumsituation in einer Abteilung Abb. 1–3 Beispiel Beziehung 1:n Wie in Abb. 1–4 zu sehen ist, arbeiten im Raum A20 drei Personen, in Raum A64 zwei Personen usw. Abb. 1–4 Beispiel Tabellen für 1:n-Beziehung n : m Þ Ein Beispiel für eine n:m-Beziehung ist die Mitgliedschaft von Personen in Vereinen. n Personen können Mitglied in m Vereinen sein. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 7 – Erstelldatum 19.02.04 Abb. 1–5 Beispiel Tabellen für n:m-Beziehung Abb. 1–6 Beispiel Hilfstabelle für n:m-Beziehung Für diese Darstellung sind zwei Tabellen nicht mehr ausreichend, sondern es wird eine Zwischentabelle benötigt, welche die n:m-Beziehung in zwei 1:n- Beziehungen aufgegliedert. 1.6. Leistungsmerkmale von MS Access 1.6.1. Datenbank Die Datenbank umfaßt die Objekte Tabellen, Abfragen, Formulare, Berichte sowie Makros und Module (Programmierung). Die Objekte einer Datenbank werden alle in einer einzigen Datenbank gespeichert. Die Endung einer MS Access Datenbankdatei ist *.mdb. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 8 – Erstelldatum 19.02.04 1.6.2. Tabelle Eine Tabelle ist eine Sammlung von Daten zu einem bestimmten Thema. Jede Zeile einer Tabelle entspricht einem Datensatz, jede Spalte einem Datenfeld (Attribute der Datensätze). Abb. 1–7 Tabelle in Access 1.6.3. Abfragen Abfragen dienen der Auswertung einer oder mehrerer Tabellen und der Verknüpfung von Tabellen. Mit einer Abfrage können Datensätze ermittelt und aufgelistet werden, die bestimmte Bedingungen erfüllen. 1.6.4. Formulare Formulare dienen zur Ansicht, Eingabe und Bearbeitung von Daten aus Tabellen und Abfragen. 1.6.5. Berichte Berichte bringen die Auswertung von Tabellen und Abfragen zu Papier. In Berichten werden die Daten aus den Tabellen und Abfragen zusammengefaßt und können dann über den Drucker ausgegeben werden. Das Layout des Berichts wird einmal definiert und kann dann in dieser Datenbank immer wieder angewandt werden. 1.6.6. Makros Makros automatisieren häufig wiederkehrende Arbeitsabläufe in Access. Dabei wird eine Liste von Anweisungen (Aktionen) erstellt, die jederzeit wieder „abgespielt“ werden kann. 1.6.7. Module Access bietet die Programmiersprache Visual Basic an, mit der die Datenbank funktional erweitert, angepaßt und optimiert werden kann. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER –9– S_Access.doc Erstelldatum 19.02.04 2. Tabellen erstellen und Daten erfassen In einer Tabelle (einem Datenblatt) werden alle Daten zu einem bestimmten Thema erfaßt. Beispielsweise können Sie in einer Tabelle Mitarbeiter alle Daten Ihrer Mitarbeiter sammeln und in einer Tabelle Kunden alle Daten Ihrer Kunden. In einer relationalen Datenbank wie Access sind alle zu verwaltenden Informationen in einer tabella rischen Struktur enthalten, auch Relation genannt. Jede Zeile (Tupel) stellt einen Datensatz dar. Weitere Merkmale einer Relation: alle Datensätze sind vom gleichen Typ die Reihenfolge von Spalten und Zeilen ist beliebig alle Datenfeldinhalte (Attribute) sind atomar, d.h. keine Mehrfacheinträge in einer Zelle kein Datensatz existiert zweimal in einer Tabelle. Tabellen können mit dem Tabellen-Assistenten, in der Datenblattansicht sowie in der Entwurfsansicht erstellt werden. Zur Eingabe von Daten stehen Ihnen die Datenblattansicht sowie die Formularansicht zur Verfügung. Der Tabellen-Assistent bietet den Vorteil, daß Sie aus vorgefertigten Datenfeldern (Tabellenspalten) die gewünschten Datenfelder auswählen können. Der Tabellen-Assistent stellt nach Bedarf zusätzlich Beispieldaten zur Verfügung. In der Datenblattansicht können Sie direkt die gewünschten Daten eingeben. Access erkennt automatisch die Struktur Ihrer Tabelle und speichert diese mit dem Tabelleninhalt ab. Wenn Sie bereits vor dem Erstellen einer Tabelle wissen, welche Eigenschaften die Datenfelder (Tabellenspalten) besitzen, können Sie die Tabelle auch in der Entwurfsansicht anlegen. Datenfelder einer vorgefertigten Tabelle können in der Entwurfsansicht individuell nachbearbeitet werden. 2.1. Der Primärschlüssel einer Tabelle Der Primärschlüssel stellt das Datenfeld dar, über das ein Datensatz (eine Zeile) einer Tabelle eindeutig identifiziert werden kann Beziehungen zwischen Tabellen erstellt werden können. Primärschlüssel sind zur Definition von Beziehungen zwischen Tabellen erforderlich. Tabellen-Assistent Tabellen erstellen Datenblattansicht Entwurfsansicht in der Datenblattansicht über ein Formular Daten eingeben MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 10 – Erstelldatum 19.02.04 Primärschlüssel Einfacher Primärschlüssel Zusammengesetzter Primärschlüssel Ein Primärschlüssel kann auch aus mehreren Datenfeldern bestehen, z.B. die Kombination aus Vorund Zuname. Es besteht aber die Gefahr, daß Datensätze durch den zusammengesetzten Primärschlüssel nicht eindeutig gekennzeichnet werden. Beispiel: Eine Tabelle enthält mehrere Mitarbeiter mit dem Nachnamen Schulz. Damit bei der Suche des Datensatzes Schulz Ferdinand nicht alle Datensätze mit dem Namen Schulz aufgelistet werden, ist es erforderlich, einen Primärschlüssel zu definieren. Es kann ein einfacher Primärschlüssel Personal-Nr definiert werden oder ein zusammengesetzter Primärschlüssel Nachname + Vorname. Abb. 2–1 Einfacher und zusammengesetzter Primärschlüssel Wenn in Access beim Anlegen einer neuen Tabelle kein Primärschlüssel vergeben wurde, fragt Access automatisch beim Speichern oder Schließen der Tabelle, ob ein Primärschlüssel erzeugt werden soll. Wird mit JA geantwortet, erzeugt Access ein neues Feld mit dem Namen ID und dem Datentyp AUTOWERT. Dieses Feld wird dann als Primärschlüssel definiert. Dies ist ein Künstlicher Primärschlüssel. Es wird ein eindeutig numerischer Wert als Primärschlüssel definiert. Unter der Bedingung, daß sich kein Zahlenwert wiederholt, ist jeder Datensatz eindeutig gekennzeichnet. Dies ist für den Computer vorteilhaft, weil eine Zahl mit wenigen Byte gespeichert werden kann, aber für den Bediener sehr abstrakt. Was verbirgt sich hinter der Zahl 1352? 2.1.1. Wie werden Primärschlüssel in Access verwaltet? In einem Datenfeld mit Primärschlüssel ist zu jedem Datensatz ein Eintrag erforderlich. Es kann für jede Tabelle genau ein Primärschlüssel vergeben werden, aber nicht jede Tabelle benötigt einen Primärschlüssel. Wenn ein Datenfeld mit Inhalten nachträglich als Primärschlüssel gekennzeichnet wird, kann es zu einer Fehlermeldung kommen, wenn dieses Datenfeld doppelte Einträge enthält. Diese Duplikate müssen entfernt werden, sonst kann der Primärschlüssel nicht erzeugt werden. Wenn eine Tabelle mit Primärschlüssel geöffnet wird, ist die Tabelle immer nach diesem Feld sortiert. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 11 – Erstelldatum 19.02.04 Der Primärschlüssel wird in der Entwurfsansicht der Tabelle festgelegt oder geändert über das ANKLICKEN DES SCHLÜSSELSYMBOLS oder über den Menüpunkt BEARBEITEN | PRIMÄRSCHLÜSSEL. Der Cursor muß in der Zeile des vorgesehenen Datenfeldes sein. Um einen zusammengesetzten Primärschlüssel zu erzeugen, müssen die entsprechenden Zeilen markiert werden. Das Primärschlüsselfeld wird in der Indikatorspalte links neben dem Feldnamen durch die Darstellung eines Schlüssels markiert. Abb. 2–2 Festlegen des Primärschlüssels in der Entwurfsansicht einer Access-Tabelle 2.1.2. Primärschlüssel – Fremdschlüssel Um zwei Tabellen miteinander zu verknüpfen, müssen „Schlüssel“ verwendet werden. Dabei wird zwischen zwei Typen unterschieden: Primärschlüssel: ein oder mehrere Felder, die jeden Datensatz dieser Tabelle eindeutig kennzeichnen Fremdschlüssel (Sekundärschlüssel): ein Tabellenfeld, das auf den Primärschlüssel einer anderen Tabelle verweist. Der Datentyp des Fremdschlüssels muß mit dem Datentyp des Primärschlüssels übereinstimmen. Abb. 2–3 Fremdschlüssel – Primärschlüssel MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 12 – Erstelldatum 19.02.04 2.2. Der Tabellen-Assistent Der Tabellen-Assistent enthält eine Reihe vorgefertigter Datenfelder = Tabellenspalten, die ausgewählt werden können. Über den Menüpunkt NEU im Register TABELLEN des Datenbankfensters oder über den Menüpunkt EINFÜGEN | TABELLE in der Standardsymbolleiste wird das Dialogfenster NEUE TABELLE eingeblendet. Durch Anklicken des Eintrags TABELLEN-ASSISTENT wird der Tabellen-Assistent eingeblendet. Erster Schritt des Dialogfensters Auswahl einzelner Beispielfelder aus den vorhandenen Beispieltabellen. Ein Feld entspricht einer Tabellenspalte. Die neue Tabelle kann Felder aus unterschiedlichen Beispieltabellen enthalten. Die Felder der neuen Tabelle können umbenannt werden. Die Einstellungen der Beispielfelder, Datentyp u.a. werden beibehalten. Zweiter Schritt des Dialogfensters Im nächsten Schritt wird der Name der neuen Tabelle und der Primärschlüssel festgelegt. Wird der Primärschlüssel vom Assistent festgelegt, fügt Access eine zusätzliche Spalte mit dem Feldnamen ID und dem Datentyp Autowert ein. Soll der Primärschlüssel festgelegt werden, erscheint ein Dialogfenster, in dem festgelegt werden kann, welchen Datentyp das Primärschlüsselfeld haben soll. Fortlaufende Zahlen, die von Microsoft Access automatisch neuen Datensätzen zugewiesen werden Datentyp Autowert Zahlen, die eingegeben werden, wenn neue Datensätze hinzugefügt werden Datentyp Zahlen Zahlen und/oder Buchstaben, die eingegeben werden, wenn neue Datensätze hinzugefügt werden Datentyp Text Dritter Schritt des Dialogfensters Wenn mit dem Assistenten eine Tabelle in einer Datenbank mit vorhandenen Tabellen erzeugt wird, fragt Access in einem Dialogfenster, ob zwischen der neuen und den vorhandenen Tabellen Beziehungen definiert werden sollen und wenn ja, welche Art von Beziehungen. Vierter Schritt des Dialogfensters Im letzten Schritt wird festgelegt, ob die neue Tabelle in der Datenblattansicht oder der Entwurfsansicht geöffnet werden soll oder ein Autoformular zur Dateneingabe erstellt und geöffnet werden soll. In die fertiggestellte Tabelle können direkt Daten eingegeben werden. Die Tabelle enthält alle zuvor ausgewählten Spalten. 2.3. Die Datenblattansicht Eine Tabelle kann auch direkt in der Datenblattansicht über die Eingabe von Daten erzeugt werden. Access analysiert beim ersten Speichern der Tabelle automatisch die Daten und weist bestimmte Formatierungen und Datentypen zu. Diese können später auch in der Entwurfsansicht geändert werden. Über den Menüpunkt NEU im Register TABELLEN des Datenbankfensters oder über den Menüpunkt EINFÜGEN | TABELLE in der Standardsymbolleiste wird das Dialogfenster NEUE TABELLE eingeblendet. Dort MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 13 – Erstelldatum 19.02.04 kann der Eintrag DATENBLATTANSICHT markiert werden. Durch Bestätigen mit RETURN oder OK wird eine leere Tabelle in der Datenblattansicht geöffnet. 2.3.1. Aufbau der Datenblattansicht Die Datenblattansicht entspricht einer Tabelle, in der jede Zeile einen Datensatz darstellt, z.B. einen Kunden. In den Spalten werden die Eigenschaften (Attribute) eingetragen, die einen Datensatz beschreiben. Abb. 2–4 Aufbau der Datenblattansicht Am linken Rand der Tabelle befindet sich die Indikatorspalte. Sie dient der Anzeige des aktuellen Datensatzes in dem der Cursor sich befindet, erkennbar an einem kleinen Dreieck. Während die Inhalte des Datensatzes verändern werden, verwandelt sich das Dreieck in einen Stift. Zu diesem Zeitpunkt sind die Änderungen im Datensatz noch nicht gesichert. Sobald der Cursor auf eine andere Zeile gesetzt wird, verschwindet das Bleistiftsymbol wieder. Der Datensatz wurde nun gesichert. Die Eingabe von Daten erfolgt stets in der aktiven Zelle. Diese wird in der Regel durch einen kleinen blinkenden Strich (den Cursor) gekennzeichnet. Neue Datensätze werden unterhalb der Tabelle an die erste freie Zeile angehängt. Das Ende der Datensätze wird in einer bereits gespeicherten Tabelle mit einem Stern (*) in der Indikatorspalte gekennzeichnet Hier kann ein neuer Datensatz eingeben werden. In der Datenblattansicht werden die Feldnamen einer neuen Tabelle standardmäßig mit der Bezeichnung Feld und einer fortlaufenden Nummer benannt. Um den Spalten (Datenfeldern) einen aussagekräftigen Namen zu geben, werden die Feldnamen umbenannt. Doppelklicken auf den Feldnamen oder Menüpunkt FORMAT | SPALTE UMBENENNEN oder rechte Maustaste Kontextmenü. Der neue Feldname wird eingegeben und mit RETURN bestätigt. Die Feldnamen (Spaltennamen) einer Tabelle sollten immer die Daten der jeweiligen Spalte beschreiben. Punkte, Ausrufezeichen und eckige Klammern sind im Feldnamen nicht erlaubt. Der Name darf höchstens 64 Zeichen lang sein. Bei der Eingabe der Datensätze (zeilenweise) bewegt man sich mit der R ETURN- oder der TAB-TASTE in das nächste Datenfeld. Alle Datenfelder außer dem Feld mit dem Primärschlüssel können leer bleiben. Die in die Tabelle eingegebenen Daten werden gespeichert, wenn der Cursor in einen anderen Datensatz der Tabelle gesetzt wird. Ein ausdrückliches Speichern der Daten ist nicht erforderlich. Beim Speichern der MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 14 – Erstelldatum 19.02.04 Tabelle fragt Access nach einem Tabellennamen. Der Name darf maximal 63 Zeichen lang sein und kann fast alle Zeichen enthalten außer den Zeichen „.![]“. Ist noch kein Primärschlüssel definiert erscheint ein entsprechendes Dialogfenster. Mit der Tastenkombination STRG + # wird der Wert des vorherigen Datensatzes der gleichen Spalte in das Datenfeld eingefügt (kopiert). Aktuelles Datum einfügen: STRG + SHIFT + , Aktuelle Uhrzeit einfügen: STRG + SHIFT + . Ist der Inhalt einer Zelle größer als die Spaltenbreite, kann man sich mit der Tastenkombination SHIFT + F2 ein Zoom- Fenster anzeigen lassen (funktioniert auch im Formular und in der Entwurfs ansicht der Abfrage). Access weist während der ersten Speicherung den Datenfeldern automatisch den entsprechenden Felddatentyp zu. Dieser legt den Wertebereich und damit die Größe des Speicherplatzes fest. Werden in der geöffneten Tabelle in einer Zelle Werte eingegeben, die nicht dem Datentyp des Datenfeldes entsprechen, kommt es zu einer Fehlermeldung. Datentyp Beschreibung Beispiel Text Alle Felder (Spalten), in die Zeichenfolgen mit Buchstaben, Ziffern oder Sonderzeichen eingegeben wurden, werden als Textfelder definiert. Name: Klein Zahl Spalten, in die Ziffern (Ganzzahlen oder Dezimalzahlen) eingegeben werden, werden als numerische Felder definiert. Pers -Nr: 1347 Datum/Uhrzeit Datumsfelder werden durch die Eingabe eines gültigen Datums definie rt. Dabei kann als Trennzeichen ein Punkt, ein Bindestrich oder ein Querstrich verwendet werden. Uhrzeiteingaben müssen durch Doppelpunkte getrennt werden. Eintritt: 30.07.90 Währung Spalten, die Zahlen mit einem gültigen Währungssymbol enthalten, werden als Währungsfelder definiert. Gehalt: 3.000,00 € Ja/Nein Spalten, die nur Ja bzw. Nein als Eingabe enthalten, werden als logische Felder bezeichnet. Alternativ können auch True oder False eingegeben werden. Dabei wird nicht zwischen Groß- und Kleinschreibung unterschieden. Ledig: Ja Abb. 2–5 Felddatentypen bei Eingabe in der Datenblattansicht 2.4. Die Entwurfsansicht Über den Menüpunkt NEU im Register TABELLEN des Datenbankfensters oder über den Menüpunkt EINFÜGEN | Tabelle in der Standardsymbolle iste wird das Dialogfenster N EUE TABELLE eingeblendet. Dort kann der Eintrag ENTWURFSANSICHT markiert werden. Durch Bestätigen mit RETURN oder OK wird eine neue Tabelle in der Entwurfsansicht geöffnet. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 15 – Erstelldatum 19.02.04 Abb. 2–6 Entwurfsansicht der Tabelle In der Entwurfsansicht der Tabelle werden alle Eigenschaften der einzelnen Datenfelder definiert. Ein Datenfeld ist gekennzeichnet durch einen Feldnamen und einem Felddatentyp. Diese Angeben sind erforderlich zur Definition eines Datenfeldes. Zusätzlich können jedem Datenfeld weitere Feldeigenschaften zuweisen. Dazu zählen Formatierungen Standardwerte und Gültigkeitsregeln. Durch Eingabe des Feldnamens in die erste Spalte im Feldeingabebereich wird ein Datenfeld hinzugefügt. Danach wird über ein Listenfeld der Felddatentyp festgelegt. In der letzten Spalte kann eine zusätzliche Beschreibung eingetragen werden. Der Feldeigenschaftenbereich bleibt leer, bis der Datentyp festgelegt wurde. Feldeingabebereich In diesem Bereich wird für jedes Feld eine Zeile mit Feldname, Felddatentyp und einer optionalen Beschreibung angelegt. Feldeigenschaftenbereich Hier werden die eigentlichen Einstellungen für das Feld festgelegt. Die Feldeigenschaften variieren je nach gewähltem Felddatentyp. Informationsbereich Hier werden Informationen zur jeweils erwarteten Eingabe angezeigt. 2.4.1. Felddatentypen Der Felddatentyp bestimmt, welcher Typ von Information in dem Datenfeld gespeichert werden soll. Access weist neuen Feldnamen in der Entwurfsansicht automatisch den Felddatentyp Text zu. Datentyp Größe Beispiel Text In diese Felder dürfen Buchstaben und Ziffern eingetragen werden. Mit eingetragenen Zahlen kann nicht gerechnet werden. max. 255 Zeichen Artikel-Nr: EDV-553 Artikelname: Bleistift Telefon: 06135/23453 Postleitzahl: 55271 MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 16 – Erstelldatum 19.02.04 Datentyp Größe Beispiel Memo Dieses Feld erlaubt die Eingabe längerer Texte und kann für Notizen und Beschreibungen verwendet werden. max. 64.000 Zeichen Bemerkungen, Gesprächsnotizen Zahl Hier können Zahlen eingetragen werden, mit denen gerechnet werden soll. Dies können Ganz- oder Dezimalzahlen sein. 1, 2, 4 oder 8 Byte (je nach Typ) Menge: 45 Meßwert: 12,546 Anzahl: 125.562 Datum/ Uhrzeit Mit Datum und Uhrzeit lassen sich Berechnungen durchführen. Jedes gültige Datum zwischen dem 1.Januar 100 und dem 31.Dezember 9999 erlaubt. Bei der abgekürzten Schreibweise des Jahres gilt folgende Regel: 01.01.00 bis 31.12.99 01.01.2000 bis 31.12.2029 01.01.30 bis 31.12.99 01.01.1930 bis 31.12.99 8 Byte Liefertermin: 2.3.1998 Geburtstag: 14. Apr. 75 Konferenzzeit: 16:30 Beginn: 12-07-99 9:00 Währung Dieser Datentyp wird für Währungswerte verwendet, um bei Berechnungen ein Abrunden zu verhindern. Der berechnete Wert ist auf bis zu 15 Stellen links und 4 Stellen rechts vom Dezimalkomma genau. Jeder Wert wird automatisch mit dem Kürzel „€“ versehen, auf zwei Dezimalstellen ergänzt und bündig angeordnet. 8 Byte Preis: 12,20 € AutoWert Dieser Datentyp wird für eindeutige fortlaufende Nummern verwendet. Sobald ein neuer Datensatz beginnt, wird das Zählerfeld um den Wert 1 erhöht. Oder es werden Zufallszahlen verwendet, die automatisch eingefügt werden. Dieses Feld ist für die Dateneingabe gesperrt. Der Datentyp AutoWert kann nur einmal vergeben werden. 4 Byte Ja/Nein Dieser Datentyp wird für Felder verwendet, die nur jeweils einer von zwei Werten annehmen kann: Ja/Nein, Wahr/Falsch, 0/-1. Standardmäßig können Sie in der Tabelle durch Anklicken eines Feldes zwischen Ja und Nein umschalten. 1 Bit Bezahlt: Mitglied: Ledig: OLE-Objekt „OLE“ steht für Verknüpfen und Einbetten (Object linking and embedding). Ein OLE-Objekt kann eine Grafik, ein Bild, eine Excel-Tabelle, Bilder, Sounds u.a. sein. Das Objekt wurde in einem anderen Programm erstellt und in die AccessTabelle eingefügt. bis zu 1 Gigabyte MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 17 – Erstelldatum 19.02.04 Datentyp Größe Beispiel Hyperlink Hyperlinks sind Verknüpfungen zu Dateien, Grafiken, Textpassagen in Dateien oder im Internet, die unterstrichen und farbig hinterlegt sind. Es wird eine Verknüpfung zum Quelltext erstellt, der durch Klick auf den Hyperlink geöffnet und angezeigt wird. max. 64.000 Zeichen Internet: Bestellung: http://www.EDVService .de Artikelbeschreibung: C:\EDV\Beschreibung Nachschlageliste Bei diesem Datentyp können die möglichen Feldwerte aus einer vorhandenen Liste gewählt werden. Der Liste kann eine andere Datentabelle zugrunde liegen oder sie kann individuell definiert werden. 4 Byte Abb. 2–7 Felddatentypen in der Entwurfsansicht Welcher Datentyp soll dem Datenfeld zugewiesen werden? Möchten Sie mit den Datenwerten Berechnungen durchführen? Verwenden Sie auf alle Fälle den Datentyp Zahl bzw. für Geldwerte den Datentyp Währung. Haben Sie Tabellen oder Texte in anderen Dokumenten gespeichert? Verwenden Sie eine Verknüpfung, die beispielsweise durch den Datentyp OLE-Objekt oder Hyperlink hergestellt werden kann. Möchten Sie die Feldwerte der Tabelle sortieren? Die Datenwerte werden entsprechend ihrem Feldtyp sortiert. Beispielsweise werden Datumsangaben in einem Textfeld nicht chronologisch, sondern alphabetisch sortiert (April, Februar, Januar, März). Genauso können Sie Zahlen in einem Textfeld nur als Zeichenfolge und nicht nach ihrem Wert sortieren (1000, 510, 5100, 91) Datenfelder des Typs Memo, Hyperlink und OLE-Objekt können nicht sortiert werden. Wie lang bzw. wie groß sind die Datenwerte? Für lange Beschreibungen müssen Sie möglicherweise auf den Memo-Datentyp zugreifen. Entscheidend hierbei ist auch die Feldgröße. 2.4.2. Feldgröße beim Felddatentyp Zahl Zahlentyp Wertebereich Dezimalstellen zu verwenden bei Byte Integer Long Integer Single Double 0 bis 255 -32.768 bis 32.767 -2.147.483.648 bis 2.147.483.647 -3,4 x 1038 bis 3,4 x 1038 -1,797 x 10308 bis 1,797 x 10308 keine keine keine 7 15 positiven kleinen Ganzzahlen positiven und negativen Ganzzahlen positiven und negativen Ganzzahlen positiven und negativen Dezimalzahlen positiven und negativen Dezimalzahlen Abb. 2–8 Feldgrößen beim Felddatentyp Zahl MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 18 – Erstelldatum 19.02.04 2.4.3. Ausgabeformate Numerische Datenfelder Text- und Memofelder ., 0 # „kg“ ! [Rot] Dezimalpunkt oder Dezimalkomma Platzhalter für Ziffer oder 0 Platzhalter für Ziffer oder gar nichts Anzeige von Text Linksbündige Ausgabe Farbige Ausgabe @ & < > „kg“ Leer L 9 Platzhalter für ein Zeichen oder Leerzeichen Platzhalter für ein Zeichen oder nichts Anzeige in Kleinbuchstaben Anzeige in Großbuchstaben Textausgabe Leerzeichen alphabetisches Zeichen – Eingabe erforderlich Ziffer oder Leerzeichen – Eingabe erforderlich Abb. 2–9 Ausgabeformate Beispiel: #.##0,0 „kg Vorrat“;-#.##0,0 „kg Einkauf“[Rot] Die Zahlen werden mit Tausendertrennzeichen und einer Nachkommastelle angezeigt. Positive Zahlen erscheinen mit dem Text „kg Vorrat“ und negative Zahlen in Rot mit dem Text „kg Einkauf“. Format: >&&&“-Q“@@@ Eingabe: abc400 Ausgabe: ABC-Q400 2.4.4. Feldbeschreibung eintragen In der Spalte Beschreibung können Sie einen individuellen Zusatztext zum jeweiligen Tabellenfeld mit einer Länge von maximal 255 Zeichen eingeben. Dabei kann es sich beispielsweise um erläuternde Erklä rungen zu dem Tabellenfeld oder aber auch um eine Arbeitsanweisung für das Ausfüllen des Tabellenfeldes handeln. Bei der späteren Dateneingabe erscheint diese Beschreibung in der Statuszeile. 2.4.5. Hinweise zur Änderung der Datenfelder Änderungen der Tabellenstruktur sind immer dann unproblematisch, wenn Sie noch keine Daten in die Tabelle eingegeben haben. Andernfalls können diverse arbeitsintensive Probleme auftauchen. Deshalb sollten Sie sich bei der Definition der Tabelle genügend Gedanken über einen sinnvollen und auch für die Zukunft zweckmäßigen Aufbau machen. Denken Sie immer daran, daß eine Änderung der Struktur in vie len Fällen eine Überarbeitung der Berichte, Abfragen und Formulare mit sich bringt. Bei folgenden Veränderungen können Probleme entstehen. Aktion Problembeschreibung Feld einfügen Das Feld ist evtl. in bereits existierende Formulare oder Berichte aufzunehmen. Feld umbenennen Der Feldname ist in allen bereits existierenden Formularen oder Berichten zu ändern, falls er dort integriert ist. Feld löschen Die entsprechenden Daten in der Tabelle gehen verloren. Berichte und Formulare, die dieses Feld beinhalten, müssen überarbeitet werden. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 19 – Erstelldatum 19.02.04 Aktion Problembeschreibung Feldlänge verändern Bei Zahlenfeldern können durch Verkleinern der Feldgröße Feldinhalte verlorengehen. Beim Kürzen von Textfeldern werden überstehende Textteile rechts abgeschnitten. In beiden Fällen werden Sie durch Hinweisfenster informiert. Feldtyp verändern Die Konvertierung in einen anderen Feldtyp ist nur bei bestimmten Datentypen möglich. Der Erfolg der Konvertierung hängt davon ab, ob die vorhandenen Daten vom neuen Datentyp interpretiert werden können. Ist eine vollständige Konvertierung nicht möglich, wird Ihnen die Anzahl der Felder mitgeteilt, die bei diesem Vorgang gelöscht werden. Sie können den Speicherungsvorgang dann abbrechen. Abb. 2–10 Änderung von Datenfeldern 2.4.6. Feldeigenschaften festlegen Im unteren Teil der Entwurfsansicht zeigt Access einen Bereich mit zusätzlichen Feldeigenschaften an. Mit Hilfe dieser Eigenschaften verbessern Sie die Funktionalität Ihrer Tabellen. Sie können beispielsweise Zahlen formatieren, um die Lesbarkeit zu erhöhen, oder Fehlermeldungen bei Falscheingaben anzeigen lassen. Access zeigt die Feldeigenschaften jeweils nur für das aktuelle Datenfeld an. Das aktuelle Datenfeld erkennen Sie an dem nach rechts zeigenden Pfeil in der Indikatorspalte. Diese Feldeigenschaften einer Tabelle können nur in der Entwurfsansicht beeinflußt werden. Die Auswahlmöglichkeiten der Feldeigenschaften sind von dem jeweiligen Feldtyp abhängig. Der Informationsbereich gibt Ihnen eine kurze Beschreibung der aktivierten Feldeigenschaft. Übersicht der wichtigsten Feldeigenschaften Feldgröße Anzahl der Zeichen, die maximal in das Feld eingegeben werden können Format Späteres Anzeigeformat für den Feldinhalt Eingabeformat Definiert ein Muster für alle Daten, die später in das Feld eingegeben werden Dezimalstellen Festlegung der Dezimalstellen bei Zahlen- und Währungsfeldern Beschriftung Feldbezeichnung in Tabellen, Berichten und Formularen Standardwert Mit welchem Inhalt soll das Feld bei neuen Datensätzen vorbelegt sein? Gültigkeitsregel Regel zur Überprüfung einer korrekten Eingabe Gültigkeitsmeldung Fehlermeldung bei falscher Eingabe aufgrund der Gültigkeitsregel Eingabe erforderlich Bestimmt, ob beim späteren Ausfüllen eines Datensatzes eine Eingabe in das Feld erforderlich ist Leere Zeichenfolge Hier bestimmen Sie, ob eine leere Zeichenfolge ( = ““, doppelte Anführungszeichen hintereinander) als gültiger Eintrag akzeptiert wird Indiziert Welcher Index soll für diese Spalte erzeugt werden? Abb. 2–11 Übersicht der wichtigsten Feldeigenschaften MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 20 – Erstelldatum 19.02.04 3. Filter und Abfragen 3.1. Filter Ein Filter ist eine Sonderform der Abfrage. Der Filter wird mit der Tabelle gespeichert oder im Bereich Abfragen. Mit einem Filter können Datensätze ermittelt werden, die bestimmte Kriterien erfüllen. Sie können mehrere Kriterien miteinander kombinieren und dadurch verschie dene Datenfelder gleichzeitig durchsuchen lassen. In Access gibt es unterschiedliche Filtermethoden. Welcher Filter eingesetzt wird, hängt davon ab, wievie l Kriterien verwendet werden, wieviel verschiedene Datenfelder durchsucht werden und ob, die gefilterten Daten gleich sortiert werden sollen. Gefilterte Daten können erneut gefiltert werden, um die Suche nach bestimmten Daten erneut einzugrenzen. Sie erkennen gefilterte Datensätze am invertierten Symbol , an dem Zusatz (GEFILTERT) neben den Navigationsschaltflächen, in der Statusleiste erscheint FLTR. 3.1.1. Filterarten Auswahlbasierter Filter – auswahlausschließender Filter Es wird jeweils nur ein Datenfeld durchsucht, nach einem Kriterium. „Filter nach“-Methode Es wird ein Datenfeld durchsucht. Es können mehrere Kriterien angewandt werden. Formularbasierter Filter Es können mehrere Datenfelder durchsucht werden, nach unterschiedlichen Kriterien. Spezialfilter Beliebige Datenfelder können durchsucht werden. Mehrere Kriterien können angewandt werden. Zusätzlich kann die Reihenfolge der Datensätze festgelegt werden. Die gefilterten Datensätze werden sortiert angezeigt. Abb. 3–1 Filterarten 3.1.2. Auswahlbasierte Filter Ein auswahlbasierter Filter ist nur dann möglich, wenn ein Datensatz existiert, der bereits den gewünschten Wert im entsprechenden Feld beinhaltet. Der auswahlbasierte Filter kann in Tabellen und in Formularen angewandt werden. Um einen auswahlbasierten Filter anzuwenden, muß zuerst ein Datensatz angezeigt werden, der bereits den gesuchten Wert im entsprechenden Datenfeld enthält. Das entsprechende Feld wird im Formular oder in der Tabelle angeklickt. Der Filter wird über den Menüpunkt DATENSÄTZE | FILTER | AUSWAHLBASIERTER FILTER, über das Kontextmenü oder über das Symbol angewandt. Die Datensätze, die in dem entsprechenden Datenfeld den Wert enthalten, werden angezeigt. Über das Symbol oder den Menüpunkt DATENSÄTZE | FILTER/SORTIERUNG ENTFERNEN kann der Filter wieder entfernt werden Auswahlausschließender Filter Mit dem auswahlausschließenden Filter können alle Datensätze angezeigt werden, die einen bestimmten Wert nicht enthalten. Dieser Filter funktioniert genauso wie der auswahlbasierte Filter. Er kann über den MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 21 – Erstelldatum 19.02.04 Menüpunkt DATENSÄTZE | FILTER | AUSWAHLAUSSCHLIEßENDER FILTER oder über das Kontextmenü aufgerufen werden. 3.1.3. „Filter nach“-Methode Die „Filter nach“-Methode eignet sich für die Suche in einem Datenfeld mit wenigen Kriterien. Die „Filter nach“-Methode kann in Tabellen und in Formularen angewandt werden. Die „Filter nach“-Methode eignet sich zur schnellen Filterung von Daten in einem Datenfeld, ohne daß ein formularbasierter Filter erstellt werden muß. Der Cursor wird in das Datenfeld gesetzt, das als Grundlage für die Filterkriterien dient. Der „Filter nach“ kann nur über das Kontextmenü aufgerufen werden. In das Eingabefeld können die Filterkriterien eingegeben werden. Mit RETURN wird der Filtervorgang gestartet. Das Filterkriterium wird sofort nach dem Filtervorgang aus dem Kontextmenü gelöscht. 3.1.4. Formularbasierte Filter Der formularbasierte Filter eignet sich für die Suche in mehreren Datenfeldern mit mehreren Kriterien. Der formularbasierte Filter wird nur in Formularen angewandt. Der formularbasierte Filter kann über das Symbol , über den Menüpunkt DATENSÄTZE | FILTER | FORMULARBASIERTER FILTER ODER über das Kontextmenü aufgerufen werden. Es erscheint ein leeres Formular, das Menü ändert sich und eine neue Symbolleiste wird eingeblendet. Zuerst sollten mit dem Symbol alle vorhergehenden Filterkriterien gelöscht werden. In die Formularfelder können dann die gewünschten Suchkriterien eingegeben werden. Die Suchkriterien für Textfelder werden von Access automatisch in Anführungszeichen gesetzt. Bei der Eingabe von Suchkriterien in Datum-/Zeitfelder oder Zahlfelder werden keine Anführungszeichen verwendet. Alle Suchkriterien, die in dasselbe Formularfeld (Register SUCHEN NACH) eingetragen werden, sind über eine logische UND-Bedingung verknüpft. D.h. der Filter sucht nach Datensätzen, die alle angegebenen Suchkriterien gleichzeitig erfüllen. Mit dem Register ODER können weitere Suchkriterien eingegeben werden, die dann mit einer logischen ODER-Bedingung miteinander verknüpft sind. Der Filter sucht alle Datensätze, die entweder das eine oder das andere Suchkriterium erfüllen. Mit dem Symbol oder über den Menüpunkt DATENSÄTZE | FILTER/SORTIERUNG ANWENDEN wird der Filter aktiviert. Über das Symbol oder den Menüpunkt DATENSÄTZE | FILTER/SORTIERUNG ENTFERNEN kann der Filter wieder entfernt werden. 3.1.5. Filter mit mehreren Kriterien erstellen – Operatoren verwenden Mit einfachen Filtern kann nach Datensätzen gesucht werden, deren Werte gleich den Werten der Abfrage oder des Filters sind. Mit Hilfe von Vergleichsoperatoren können Filterkriterien erstellt werden, die über den einfachen „ist-gleich-Vergleich“ hinausgehen. Ein Operator ist ein Symbol oder ein Wort, das Access mitteilt, wie es Daten bei der Erstellung einer Filterauswahl interpretieren soll. Wenn ein Operator mit einem bestimmten Wert kombiniert wird, entsteht ein Bedingungsausdruck, wie z.B. Bundesland = Hessen. Der Ausdruck Bundesland = Hessen dient dazu, alle Datensätze zu finden, deren Eintrag im Feld Bundesland gleich (=) Hessen ist. Sie können aber beispielsweise auch nach allen Personen der Datenbank suchen, MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 22 – Erstelldatum 19.02.04 die nicht in Hessen leben. Sie müssen dann den Operator <> (ungleich) verwenden. Während der Operator „gleich“ alle Werte findet, die gleich dem Suchwert sind, findet der Operator „ungleich“ alle Werte, die sich von dem Suchwert unterscheiden. Überblick über die Vergleichsoperatoren Operator Erläuterung = Gleich Findet alle Werte, die gleich dem Suchwert sind < Kleiner als Findet alle Werte, die kleiner als der Suchwert sind > Größer als Findet alle Werte, die größer als der Suchwert sind <> Ungleich Findet alle Werte, die ungleich dem Suchwert sind <= Kleiner oder gleich Findet alle Werte, die kleiner oder gleich dem Suchwert sind >= Größer oder gleich Findet alle Werte, die größer oder gleich dem Suchwert sind Abb. 3–2 Übersicht über Vergleichsoperatoren Beispiele Sie möchten alle Datensätze herausfiltern, deren Postle itzahlen größer als 50000 sind. Der Wert im Feld Postleitzahl soll also >50000 sein. Der erste mögliche Wert wäre somit 50001. Der Ausdruck Postleitzahl >=50000 würde dagegen auch die Zahl 50000 mit einbeziehen. Bedingungsausdrücke kombinieren Zwei oder mehrere Ausdrücke werden mit den Operatoren UND und ODER kombiniert. Wenn zwei oder mehr Kriterien mit einem UND-Operator verknüpft sind, müssen alle Kriterien zutreffen, damit der Datensatz angezeigt wird. Wenn mehrere Kriterien mit einem ODER-Operator verknüpft sind, wird der Datensatz angezeigt, wenn mindestens ein Kriterium zutrifft. Beispiele Um alle Datensätze zu finden, deren Postleitzahlen größer oder gleich 50000 und kleiner oder gleich 60000 liegen, werden die beiden Ausdrücke mit UND verknüpft: Postleitzahl >=50000 UND <=60000 Um alle Datensätze zu finden, die in dem Feld Bundesland entweder den Text Hessen oder Bayern enthalten, werden die beiden Bedingungen mit ODER verknüpft: Bundesland Hessen ODER Bayern Der Operator NICHT Der Operator NICHT entspricht dem Operator <> (ungleich). Üblicherweise wird der Operator NICHT für Textfelder verwendet und der Operator <> für numerische Felder. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 23 – Erstelldatum 19.02.04 Beispiele Sie möchten alle Adressen erhalten, deren Ort nicht Frankfurt ist: Ort NICHT Frankfurt Sie möchten alle Artikel anzeigen, deren Bestellmenge ungleich 1 ist: Bestellmenge <>1 Mit den Vergleichsoperatoren können auch Werte innerhalb eines bestimmten Buchstabenbereichs gesucht werden. Firmen>=K* findet alle Firmen mit den Anfangsbuchstaben K–Z Platzhalter verwenden Platzhalter werden verwendet, wenn nur ein Teil des Feldinhaltes bekannt ist oder Werte gefiltert werden sollen, die eine bestimmte Zeichenfolge enthalten. Mit Operatoren kann nach Datensätzen gesucht werden, deren Werte gleich, ungleich, größer oder kleiner als der Suchwert sind. Mit Hilfe von Platzhaltern kann nach Werten gesucht werden, die dem Suchwert ähnlich sind, aber nicht genau gleich dem Suchwert sein müssen. Platzhalter Ersetzt Beispiele * beliebig viele Zeichen Feld Name: B* Findet alle Namen, die mit dem Buchstaben B, beginnen, z.B. Bauermann, Baier, Bayer oder Bader ? ein beliebiges alphabetisches Zeichen Feld Name: M??er Findet alle Name wie Maier, Mayer oder Meier # ein beliebiges numerisches Zeichen Feld Anzahl: 404## Findet alle Feldinhalte, die mit 404 beginnen und mit zwei beliebigen Zahlen enden, z.B. 40422, 40489 oder 40400 [ ] ein Zeichen, das in Klammern steht Feld Name: Ma[iy]er Findet alle Namen Mayer, Maier, aber nicht Maler oder Mauer ! ein Zeichen, das in Klammern nicht enthalten ist Feld Name: Ma[!iy]er Findet alle Namen wie Maler oder Mauer, aber nicht Mayer oder Maier - ein Zeichen innerhalb eines Bereiches Feld Name: Ma[a-l]er Findet Namen wie Maler oder Maier, aber nicht Mayer oder Mauer Abb. 3–3 Übersicht über die Platzhalter Regeln zur Eingabe von Ausdrücken und Platzhaltern Access erkennt anhand des Felddatentyps, ob es sich bei der Eingabe um einen Text oder eine Zahl handelt. Wird ein Ausdruck eingegeben und danach der Cursor in ein anderes Feld gesetzt, fügt Access die Eingabe automatisch in das richtige Format um. Dafür werden Zeichen eingefügt, die für die interne Verarbeitung benötigt werden. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 24 – Erstelldatum 19.02.04 Eingabe Hinzugefügte Zeichen Eingabebeispiel Automatische Formatierung Text Anführungszeichen Bleistifte „Bleistifte“ Datum/Uhrzeit #-Zeichen 14.04.2003 14. April 2003 14/4/03 #14.04.2003# Platzhalter Vergleichsoperator WIE K* M?ier Wie „K*“ Wie „M?ier“ 3.1.6. Spezialfilter Der Spezialfilter eignet sich für die Suche in mehreren Datenfeldern mit mehreren Kriterien, wenn die Ergebnisse zusätzlich sortiert werden sollen. Der Spezialfilter wird in einem Extra-Fenster erstellt. Der Spezialfilter entspricht einer Auswahlabfrage über alle Felder. Mit dem Spezialfilter kann schon bei der Suche nach Datensätzen die Reihenfolge der Ergebnisse festgelegt werden. Bei den anderen Filterarten werden die Datensätze in der vorgegebenen Reihenfolge angezeigt, i.d.R. nach dem ersten Feld sortiert. Mit dem Spezialfilter können die Datensätze nach jedem beliebigen Feld sortiert werden. Der Spezialfilter wird über den Menüpunkt DATENSÄTZE | FILTER | SPEZIALFILTER/-SORTIERUNG aufgerufen. Es erscheint ein Fenster, das in zwei Bereiche aufgeteilt ist. Der obere Bereich enthält die Feldliste, d.h. die Tabelle, die gefiltert werden soll, und der untere Bereich enthält die Kriterien. In den Kriterienbereich werden alle Felder eingetragen, nach denen die Datensätze gefiltert werden sollen und alle Felder, nach denen sortiert werden soll. Sind von einer vorherigen Suche noch Filterkriterien vorhanden, können diese wie bei den anderen Filtern mit dem Symbol gelöscht werden. Abb. 3–4 Fenster Spezialfilter/-sortierung Durch doppelklicken auf einen Feldnamen in der Feldliste, wird dieser in die erste Zeile des Kriterienbereichs eingetragen (Zeile Feld:). Alle Felder, die zur Suche benötigt werden oder nach denen sortiert werden soll, werden hier eingetragen. In der zweiten Zeile Sortierung: werden die Sortieranweisungen eingegeben. In die dritte und alle weiteren Zeilen (Kriterien:, Oder:) werden die Suchkriterien eingegeben. Kriterienbereich Feldliste MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 25 – Erstelldatum 19.02.04 Alle Filterkriterien, die in der gleichen Zeile eingegeben werden, sind über eine U ND-Verknüpfung, miteinander verknüpft. D.h. alle Kriterien müssen gleichzeitig erfüllt sein, damit der Datensatz angezeigt wird. Alle Filterkriterien, die in unterschiedlichen Zeilen eingegeben werden, sind über eine ODERVerknüpfung, miteinander verknüpft. D.h. eines der angegebenen Kriterien muß erfüllt sein, damit der Datensatz angezeigt wird. Wie beim formularbasierten Filter können Operatoren und Platzhalter bei der Eingabe von Kriterien verwendet werden. Werden für mehrere Felder eine Sortierung angegeben, wird zuerst nach der ersten Spalte des Kriterienbereichs, dann nach der zweiten Spalte usw. sortiert. Die Sortierung kann durch Verschieben der Spalten im Kriterienbereich geändert werden. Der Filter wird über das Symbol oder über den Menüpunkt FILTER | FILTER/SORTIERUNG ANWENDEN angewandt. Mit dem Symbol , dem Menüpunkt FILTER | FILTER/SORTIERUNG ENTFERNEN oder dem Kontextmenü wird der Filter wieder entfernt. Das Fenster Spezialfilter/-sortierung bleibt geöffnet. Es können jederzeit Änderungen in den Kriterien vorgenommen werden und erneut gefiltert werden. 3.2. Abfragen Der Filter ist die einfache Form der Abfrage. Er kann nur in einer Tabelle oder in einem Formular angewandt werden. Die gefilterten Datensätze werden immer komplett angezeigt, d.h. mit allen Feldern. Abfragen können im Gegensatz zum Filter über mehrere Tabellen erstellt werden. Das Ergebnis der Abfrage kann ausgewählte Datenfelder enthalten. Mit Abfragen können auch Berechnungen durchgeführt werden. Unterschiede zwischen Filter und Abfrage Filter Abfrage Auswahl der Daten Das Filtern erfolgt aus einer Tabelle zeilenweise. Eine Abfrage kann aus einer oder mehreren Tabellen zeilen- und/oder spaltenweise erstellt werden. Speicherung Der Filter wird mit der Tabelle gespeichert. Die Daten, die bestimmte Kriterien erfüllen, werden in einem Dynaset (dynamische Ansicht von Daten aus einer oder mehreren Tabellen) zusammengefaßt und als Abfrage gespeichert. So kann die Abfrage jederzeit gestartet werden und es wird eine neue, aktualisierte Auswertung der Daten angezeigt. Verwendung Zur schnellen und einfachen Auswahl von Datensätzen. Zur Auswahl von Datenfeldern, die mehrere Bedingungen erfüllen müssen. Merkmale einer Abfrage Eine Abfrage kann Daten aus einer oder mehreren Tabellen und/oder Abfragen enthalten. Eine Abfrage kann alle Datenfelder oder nur ausgewählte Datenfelder enthalten. Mit Abfragen können Berechnungen durchgeführt bzw. Gesamtsummen (z.B. Umsatz Januar bis März) ermittelt werden. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 26 – Erstelldatum 19.02.04 Mit einer Abfrage kann eine Gruppe von Daten gleichzeitig aktualisiert, gelöscht, geändert oder an eine andere Tabelle angefügt werden. Das Kriterium wird erst beim Aufruf der Abfrage festgelegt (Parameterabfrage). Die Abfrage wird bei jedem Aufruf erneut ausgeführt, d.h. es wird jeweils eine neue, aktuelle Auswertung der vorhandene Daten angezeigt. 3.2.1. Abfragearten Access bietet verschieden Abfragearten an. Anhand der Problemstellung wird die Art der Abfrage gewählt. Art der Abfrage Symbol Beschreibung Beispielanwendung Auswahlabfrage Die Auswahlabfrage wählt eine Gruppe von Daten aus einer oder mehreren Tabellen aus. Welche Aufträge wurden heute an welche Kunden ausgeliefert? Parameterabfrage Die Parameterabfrage zeigt ein Dialogfenster zur Eingabe von Kriterien für die Abfrage an. Drucke den Bericht der Umsatzdaten für den aktuellen Monat aus. Aktionsabfrage Mit Hilfe dieser Abfrage ändern Sie Ihren Datenbestand in einem Schritt. Access unterscheidet dabei zwischen Tabellenerstellungs-, Lösch-, Aktualisierungs- und Anfügeabfrage. Die Preise aller Artikel erhöhen sich um 3%. Kreuztabellenabfrage Die Kreuztabellenabfrage gruppiert Daten mit unterschiedlichen Berechnungsmethoden Wie entwickelten sich die Umsatzzahlen in den letzten 14 Tagen? Pivot-TabellenAbfrage Diese Abfrage stellt eine erweiterte Kreuztabellenabfrage dar. Hier stehen noch zusätzliche Gruppie rungs- und Layoutfunktionen zur Verfügung. Wie entwickelten sich die Umsatzzahlen in den letzten 14 Tagen für die Produktgruppen A, B und C? SQL-Abfrage Diese spezielle Abfrage wird mit der Datenbank-Abfragesprache SQL (Structured Query Language) erstellt. Mit SQL können die individuelle Abfragen erstellt. Abb. 3–5 Abfragearten Gespeicherte Filter erhalten von Access im Datenbankfenster ebenfalls das Symbol . Abfragen werden über das Datenbankfenster im Bereich Abfragen ausgeführt, wenn die Abfrage doppelt angeklickt wird. Das Ergebnis der Abfrage wird in einer Tabelle in der Datenblattansicht angezeigt. Bei Aktionsabfragen wird ein Dialogfenster eingeblendet, in dem Access darauf hinweist, daß durch die Aktualisierungsabfrage Daten in der Tabelle geändert werden. Diese Änderungen können nicht rückgängig gemacht werden. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 27 – Erstelldatum 19.02.04 Abb. 3–6 Datenbankfenster mit Abfragen Einfache Abfragen können mit dem Abfrageassistenten erstellt werden. Komplexe Abfragen erstellen Sie in der Entwurfsansicht. Zuerst werden die Tabellen/Abfragen ausgewählt, auf der die neue Abfrage basiert. Mit der Schaltfläche HINZUFÜGEN werden alle benötigten Tabellen/Abfragen in das Fenster der Entwurfsansicht übernommen. Danach wird das Dialogfenster Tabelle anzeigen geschlossen. Mit dem Symbol kann die Feldliste jederzeit wieder angezeigt werden. Abb. 3–7 Tabellen/Abfragen auswählen – Entwurfsansicht Abfrage Das Abfragefenster ist zweigeteilt. Im oberen Bereich werden die ausgewählten Tabellen/Abfragen angezeigt. Im unteren Bereich werden alle für die Abfrage benötigten Felder angezeigt und die Abfragekriterien eingetragen. Die Feldliste enthält alle Datenfelder der Tabelle. Zuerst sind die Felder zu bestimmen, die in die Abfrage aufgenommen werden sollen. Zur Auswahl eines Feldes wird dieses in der Feldliste ausgewählt und in eine freie Zelle der Zeile Feld des Entwurfsbereichs gezogen oder durch doppelklicken eingefügt. Mehrere Felder können mit der STRG-TASTE markiert werden. Ein ganzer Block wird mit der SHIFTTASTE markiert. Mit einem Doppelklick auf die Titelleiste der Feldliste werden alle Felder markiert und können dann per DRAG & DROP in den Entwurfsbereich gezogen werden. MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 28 – Erstelldatum 19.02.04 Abb. 3–8 Entwurfsfenster der Abfrage Die Sortierreihenfolge kann wie beim Spezialfilter auf- oder absteigend festgelegt werden. Sollen mehrere Felder sortiert werden, wird die Sortierreihenfolge von links nach rechts festgelegt. In der Zeile Anzeigen, kann festgelegt werden, ob das Feld im Abfrageergebnis ausgeblendet wird oder nicht, z.B. Felder, die zum Festlegen eines Abfragekriterium verwendet werden, aber nicht im Abfrageergebnis erscheinen sollen. Die Feldnamen, die durch die Tabellenstruktur vorgegeben sind, können für das Abfrageergebnis umbenannt werden. Dafür wird links neben den Feldnamen in der Zeile Feld geklickt. Der neue Name wird vor den Feldnamen geschrieben und mit einem Doppelpunkt von diesem getrennt. Der richtige Feldname darf nicht überschrieben werden! Feld: Bestellcode des Artikels: ArtikelNr Zeile Neuer Name Feldname der Tabelle Die Abfragekriterien werden wie beim Spezialfilter in die Zeilen Kriterien und Oder eingegeben. Alle Kriterien, die in der gleichen Zeile stehen, sind über eine UND-VERKNÜPFUNG verbunden. Nur wenn alle Kriterien der Zeile gleichzeitig erfüllt sind, wird der Datensatz in das Ergebnis aufgenommen. Sind in mehreren Zeilen Kriterien eingetragen, sind die Kriterien über eine ODER-VERKNÜPFUNG verbunden. Wird das Kriterium einer Zeile erfüllt, wird der Datensatz in das Ergebnis aufgenommen. Kombinierte Kriterien aus mehreren Feldern In die Kriterienzeile können auch Kriterien, die einen Vergleich über mehrere Felder durchführen, eingetragen werden. Beispiel [Preis]*[Stückzahl]>1000 Wann ist der Lieferpreis größer als 1000 €? [Lieferdatum]-[BestellDatum]>10 Welche Lieferung hat länger als 10 Tage gedauert? Berechnete Felder Mit Hilfe von Operatoren können in der Abfrage Berechnungen durchgeführt werden. So kann ein berechnetes Feld zum Abfrageergebnis hinzugefügt werden, z.B. kann die Mehrwertsteuer der Einzelpreise berechnet werden. Dafür wird in ein freies Spalte der Zeile Feld zuerst der gewählte Feldname mit einem Doppelpunkt eingetragen. dahinter wird die Berechnungsformel geschrieben. Alle Feldnamen werden bei Tabellenanzeigebereich Entwurfsbereich Aufbau der Abfrage Name der Abfrage: Abfragetyp Feldliste MIICROSOFT ACCESS DIIPLL..--IING.. ELLKE IILLLLGNER S_Access.doc – 29 – Erstelldatum 19.02.04 der Eingabe in eckige Klammern gesetzt. Der gewählte neue Feldname darf keinem vorhanden Feldnamen entsprechen. Operator Beschreibung Beispiel * Multiplikation von Zahlen [Preis]*[Menge] oder 2*[Preis] + Addition von Zahlen [Preis]+[Frachtkosten] oder 11+45 - Subtraktion von Zahlen [Preis]-[Rabatt] oder [Preis]-([Preis]*0,1) / Division von Zahlen [Länge]^2 ^ Potenzieren einer Zahl mit dem angegebenen Exponenten Tabelle 3–1 Mathematische Operatoren Bei der Berechnung gilt Punkt-vor-Strich- Rechnung. Mit Klammern läßt sich die Reihenfolge der Berechnung verändern. Ändern des Anzeigeformats Werden die berechneten Felder nicht im gewünschten Format angezeigt, kann das Anzeigeformat im Entwurfsfenster durch Anklicken des berechneten Feldes über das Kontextmenü EIGENSCHAFTEN geändert werden. Textfelder verknüpfen Mit dem Verknüpfungszeichen & können Textfelder für die Ausgabe miteinander verknüpft werden. Z.B. können in einer Abfrage der Vor- und Nachname des Kunden oder dessen Anschrift in einer Spalte zusammengefaßt werden. Die Vorgehensweise entspricht der Eingabe von berechneten Feldern. In ein freies Spalte der Zeile Feld wird zuerst der gewählte Feldname mit einem Doppelpunkt eingetragen. dahinter wird die Verknüpfung geschrieben. Beispiel Anschrift:[Strasse]&“, “&[PLZ]&“ “&[Wohnort] Ausführen der Abfrage Die Abfrage wird über den Menüpunkt ABFRAGE | AUSFÜHREN oder das Symbol ausgeführt. Die Abfrage wird auch durch das Wechseln von der Entwurfsansicht in die Datenblattansicht ausgeführt, MENÜPUNKT ANSICHT | DATENBLATT oder Symbol . Über das Symbol kann wieder in die Entwurfsansicht gewechselt werden oder über den MENÜPUNKT ANSICHT | DATENBLATT. Wird die Abfrage geschlossen, fragt Access nach, unter welchem Namen die Abfrage gespeichert werden soll.