You are on page 1of 119

EINFÜHRUNG IN ACCESS

VERSION 2003

Herbert Kattenborn

Ressort für Klinische und Administrative Datenverarbeitung

am Universitätsklinikum Gießen und Marburg


INHALTSVERZEICHNIS

1 EINLEITUNG........................................................................................................1

1.1 Anmerkungen zum Arbeiten mit Access ..........................................................................................1

1.2 Access und andere Office-Produkte ..................................................................................................2

2 DATENBANKENTWURF .....................................................................................3

2.1 Beispiel eines falschen Entwurfs........................................................................................................3

2.2 Vorgehen beim Datenbankentwurf ...................................................................................................5

2.3 Normalisierung....................................................................................................................................6

2.4 Analyse der Beziehungen .................................................................................................................10

2.5 Indizierung ........................................................................................................................................12

3 DIE ACCESS-DATENBANK..............................................................................14

3.1 Datenbankobjekte.............................................................................................................................14

3.2 Bildschirmaufbau von Access ..........................................................................................................17

4 TABELLEN ........................................................................................................19

4.1 Tabellenentwurf ................................................................................................................................19


4.1.1 Tabellenansichten...........................................................................................................................22
4.1.2 Felddatentypen ...............................................................................................................................22
4.1.3 Feldeigenschaften...........................................................................................................................26
4.1.4 Nachschlagefelder ..........................................................................................................................34
4.1.5 Schlüsselvergabe ............................................................................................................................37
4.1.6 Nachträgliche Änderung der Tabellenstruktur...............................................................................40

4.2 Bearbeitung von Daten (Datenblattansicht) ...................................................................................41


4.2.1 Tabellenlayout................................................................................................................................44

5 TABELLEN VERKNÜPFEN...............................................................................46

6 ABFRAGEN .......................................................................................................50

6.1 Erstellen einer Abfrage.....................................................................................................................52

6.2 Verknüpfungen in einer Abfrage ....................................................................................................54

6.3 Auswahl der Felder...........................................................................................................................55

6.4 Suchkriterien .....................................................................................................................................57

6.5 Parameter in Abfragen.....................................................................................................................58

-I-
6.6 Berechnungen in Abfragen ..............................................................................................................60

6.7 Aggregatfunktionen ..........................................................................................................................61

6.8 Aktionsabfragen................................................................................................................................63

6.9 Eigenschaften ....................................................................................................................................65

7 FORMULARE ....................................................................................................67

7.1 Anlegen eines neuen Formulars.......................................................................................................67

7.2 Aufbau eines Formulars ...................................................................................................................72

7.3 Bearbeiten von Steuerelementen .....................................................................................................74

7.4 Einfügen neuer Steuerelemente .......................................................................................................76


7.4.1 Bezeichnungsfelder ........................................................................................................................77
7.4.2 Textfelder .......................................................................................................................................78
7.4.3 Listen- und Kombinationsfelder ....................................................................................................79
7.4.4 Suchfelder ......................................................................................................................................81
7.4.5 Optionsfelder und Optionsgruppen ................................................................................................83
7.4.6 Register-Steuerelement ..................................................................................................................87

7.5 Feldreihenfolge..................................................................................................................................89

7.6 Haupt-/Unterformulare....................................................................................................................89

7.7 Dateneingabe, Filter, Sortieren........................................................................................................95

8 BERICHTE .........................................................................................................98

8.1 Erstellen eines Berichts.....................................................................................................................98

8.2 Berichte editieren ............................................................................................................................102

9 MAKROS .........................................................................................................107

9.1 Erstellung eines Makros .................................................................................................................107

9.2 Bedingungen ....................................................................................................................................108

9.3 Gruppenmakros ..............................................................................................................................110

9.4 Ereignisse.........................................................................................................................................110

- II -
Einleitung

1 Einleitung
In dieser Einführung möchte ich Sie mit den wesentlichen Fertigkeiten im
Umgang mit dem Datenbankprogramm Access vertraut machen. Ich beziehe
mich auf die Versionen Access2003 (Version 11) wobei die Unterschiede zur
Vorgängerversion AccessXP (Version 2002) kaum spürbar sind. Auch mit
dem Dateiformat haben Sie weniger Probleme, da ab der Version Access 2000
das 2000er Format gewählt werden kann. Access2002 (XP) und Access2003
haben dasselbe Dateiformat. Die Zusammenarbeit mit Access97 ist dagegen
problematisch, da in dieser Version ein anderes Dateiformat und andere Pro-
grammbibliotheken verwendet werden.

Die aktuelle Version Access2007 hat wie die andereren Office2007-


Programme eine völlig überabeitete Oberfläche und ein neues Format(.accdb),
man kann die Dateien aber auch in älteren Formaten speichern.

1.1 Anmerkungen zum Arbeiten mit Access


Im Unterschied zu anderen Programmpaketen wie Word oder Excel sind die Mühsame Ein-
Anforderungen für die Arbeit mit Access erheblich höher. Zwar können Sie arbeitung
sehr schnell ohne große Vorkenntnisse einfache Datenbanken erstellen. Sobald
aber die Datenbasis komplexer wird oder Anpassungen vorgenommen werden
sollen, stoßen Sie sehr schnell an Grenzen. Grundkenntnisse und Erfahrungen
im Datenbankdesign sind oft vonnöten, und ohne fachmännische Beratung in
der Entwurfsphase kommen Sie kaum aus. Auch für spätere Verfeinerungen
Ihrer Datenbank sind häufig Detailkenntnisse erforderlich, die Sie nicht von
heute auf morgen erlernen können. Insofern ist das Erlernen von Access ein
längerer Prozess, der nicht ohne Mühen abläuft.

Access ist ein mächtiges Programm, dessen Tiefen von den wenigsten gründ- Bedienungs-
lich erforscht werden können. Es bietet zwei verschiedene Zugänge an: möglichkeiten
• Der „normale“ Anwender kann ohne Programmierung komplette Anwen-
dungen entwickeln und sich dabei der verschiedenen Assistenten und der
übersichtlichen Oberfläche bedienen. An diesen Anwender wendet sich
dieses Skript.

• Der professionelle Anwender hat zudem die Möglichkeit, mit Hilfe der
integrierten Programmiersprache Visual Basic for Application (VBA) spe-
ziellen Wünschen nachzukommen und eine ausgereifte Anwendung zu
entwickeln.

Zwischen diesen beiden Strängen sind die Übergänge fließend. Bevor Sie sich
auf die Programmierung stürzen, sollten Sie zunächst die anderen Möglichkei-
ten ausnutzen. Falls Ihre Datenbank gut konzipiert wurde, reichen in der Regel
gründliche Kenntnis der Oberfläche und der Einsatz von Makros aus, um die
gewünschten Aufgaben zu erfüllen.

-1-
Einleitung

1.2 Access und andere Office-Produkte


Access ist ein Teil des Programmpaketes Office Professionell von Microsoft. Access und die
Deshalb arbeitet es auch sehr gut mit den anderen Office-Programmen zu- Word
sammen. So können z.B. Serienbriefe arbeitsteilig mit Word und Access er-
stellt werden. Für die Datenverwaltung (z.B. Adressbestände) eignet sich Ac-
cess am besten, in Word können Sie die Briefe schreiben und auf die Daten
aus Access zugreifen. Andererseits können z.B. in Access-Berichten auch mit
Word erstellte Textteile eingebunden werden (OLE). Deshalb können Sie auch
ohne Word mit Hilfe von Access-Berichten Ihre Serienbriefe erstellen.

Neben Access verwalten viele Anwender ihre Daten mit Excel. Dieses Pro- Access und
gramm bietet einfach zu bedienende Datenbankfunktionen zur Verwaltung Excel
von Datenbeständen. Insofern könnte man Excel als Konkurrenzprodukt zu
Access ansehen, auch wenn es aus demselben Hause stammt. Excel ist jedoch
in erster Linie ein Tabellenkalkulationsprogramm mit sehr gut ausgearbeiteten
Diagrammfunktionen. Wenn es also um intensive Berechnungen von Daten
geht, ist Excel erste Wahl. In Sachen Datenverwaltung ist jedoch Access über-
legen. So können z.B. in Excel nicht beliebig viele Datensätze gespeichert
werden, da die Zeilenanzahl innerhalb von Tabellen begrenzt ist. Excel 2007
bietet mittlerweile jedoch für Tabellen über 1.000.000 Zeilen und 1024 Spal-
ten an. Vor allem aber die Arbeit mit Schlüsseln (Indizes), die für die Ver-
knüpfung von mehreren Tabellen sinnvoll sind, ist in Excel nicht vorhanden.

Ich sehe deshalb Excel als Ergänzung zu Access an. Während Sie die Verwal- Auswertungen
tung größerer Datenmengen mit Formularen, Abfragen und Berichten günsti- mit Excel
ger im Rahmen von Access erledigen, bietet sich Excel für statistische Aus-
wertungen z.B. mit Pivot-Tabellen an. Die auszuwertenden Daten können
hierbei sehr einfach über eingebaute Schnittstellen zwischen diesen beiden
Programmen ausgetauscht werden.

Access ist nicht das einzige Programm zur Verwaltung umfangreicher Daten- Weitere Da-
bestände. Im Bereich kleiner und mittlerer Anwendungen hat es sich als tenbank-
Marktführer auf der Windows-Ebene etabliert. Andere bekannte Datenbank-
programme
programme im PC-Bereich sind Foxpro, Paradox, dBase, Approach oder Fi-
lemaker. Für die Verwaltung riesiger Datenbestände in vernetzten Umgebun-
gen ist Access nicht unbedingt erste Wahl. Hier bieten sich professionelle gro-
ße Datenbanksysteme wie Oracle oder spezielle SQL-Server an. Auch zu die-
sen Programmen bietet Access Schnittstellen, so dass Sie auch mit Access auf
diese Daten zugreifen können (z.B. Access als Frontend).

-2-
Datenbankentwurf

2 Datenbankentwurf
Bevor ich auf die praktische Arbeit mit dem Datenbankprogramm Access ein-
gehe, möchte ich in diesem Kapitel einige Datenbankbegriffe erläutern sowie
im weiteren Verlauf auf einige zentrale Punkte der Datenbanktheorie hinwei-
sen. Diese Anmerkungen sind meiner Meinung nach von zentraler Bedeutung,
wenn es um den Aufbau komplexer Datenbanken geht. Somit sind sie auch für
die praktische Arbeit mit Access unentbehrlich. Fehler im Datenbankdesign
und in der Verknüpfung von Tabellen haben oft einen sehr starken negativen
Einfluss auf die weitere praktische Arbeit mit Access, z.B. beim Erstellen von
Abfragen oder Formularen.

Ein relationales Datenbanksystem ist eine Zusammenstellung von Daten eines Definition
Themenbereiches, wobei die Daten in Tabellen organisiert sind. Eine Relation
ist im Grunde nichts anderes als eine Tabelle.

Im einfachsten Fall besteht die Datenbank aus einer Tabelle; ein relationales Tabellen als
Datenbanksystem besteht in der Regel hingegen aus mehreren Tabellen, die Basis
miteinander verknüpft werden.

In einer Tabelle werden inhaltlich zusammengehörige Daten gespeichert. Die Datensatz


Zeilen heißen Datensätze oder Records, in der Datenbanktheorie werden sie
auch Tupel genannt. Die Spalten der Tabelle werden Felder oder Attribute
Feld
genannt. In einer Personaltabelle enthält ein Datensatz die Informationen zu
einer Person wie z.B. Name, Vorname, Geburtsdatum usw., wobei Name,
Vorname, Geburtsdatum usw. die Felder eines jeden Satzes sind. In der ersten
Zeile der Datentabelle werden in der Regel die Feldnamen angezeigt.

Im einfachen Fall können wir eine Datenbanktabelle mit einem Karteikasten


vergleichen. Die einzelnen Karteikarten entsprechen hierbei den Datensätzen,
ein Karteikartenfeld wie z.B. Geburtsdatum korrespondiert mit einem Daten-
feld.

2.1 Beispiel eines falschen Entwurfs


Bevor ich auf die Theorie des Entwurfs einer Datenbank eingehe, möchte ich
zunächst einige Probleme und Begriffe anhand eines Beispiels veranschauli-
chen.

Sie sehen in Tabelle 1 den ersten Entwurf einer Tabelle, die die Daten eines
Autoverleihs enthält. Hier werden alle Daten in einer breiten Tabelle (flat
table) untergebracht.
Kd-Nr Name Vorname Adresse Auto-Nr Modell Termin
1 Meier Hans Waldweg 5, 35392 Gießen 5 VW Golf 1.2.-5.2.98; 10.2.-15.2.98
4 Schmidt Hugo Hauptstr. 44, 35043 Marburg 2 Audi 100 2.3.-3.3.98
1 Meier Hans Waldweg 5, 35392 Gießen 2 Audi 100 5.3.-7.3.98; 8.3.-9.3.98
5 Müller Willi Rosenstr. 4, 35392 Gießen 5 VW Golf 8.3.98

Tabelle 1: Grobentwurf

-3-
Datenbankentwurf

Zunächst fällt die mehrfache Erfassung der Kundendaten auf. Hierdurch wird Redundanz
Speicherplatz verschwendet, die Suche und Auswertung innerhalb der Daten
wird langsamer und erschwert. Solche Doppelerfassungen nennt man Redun-
danzen, die in einem Datenbanksystem vermieden werden sollten.

Diese Redundanzen ziehen weitere Probleme nach sich. Bei der mühseligen Inkonsistenz
Mehrfacherfassung kann es leicht vorkommen, dass der Name oder die Adres-
se des Kunden unterschiedlich geschrieben werden. Wenn sich zudem die
Kundenadresse ändert, müssen alle Datensätze dieses Kunden aufgesucht und
die Adresse geändert werden. Hierbei besteht die Gefahr, dass die Änderungen
in einigen Datensätzen vergessen werden. Der Datenbestand wäre dann hin-
sichtlich der Kundendaten inkonsistent.

Das Ermitteln aller Kunden in Gießen in obiger Tabelle ist mit erheblichem Daten nicht
Aufwand verbunden, wenn Sie es überhaupt schaffen. Der Grund für diese atomar
Schwierigkeiten liegt im Feld Adresse, welches mehrere verschiedene Felder
enthält, nämlich Straße, Postleitzahl und Ort. Eine solche Datenorganisation
ist äußerst ungünstig und verstößt gegen eine Grundregel des Datenbankent-
wurfs, welche besagt, dass eine Tabelle nur atomare, d.h. nicht weiter zerleg-
bare Felder enthalten sollte.

Das Datenfeld „Termin“ bereitet uns noch größere Kopfschmerzen. Hier wer-
den zum einen die zwei Komponenten Beginn und Ende des Termins inner-
halb eines Feldes untergebracht. Damit wird wiederum gegen die Atomisie-
rungsregel verstoßen. Es ist z.B. kaum möglich, die Dauer der Ausleihe mit
diesem Feld zu berechnen.

Es kommt aber noch schlimmer. Darüber hinaus werden in diesem Feld in


manchen Datensätzen sogar mehrere Termine eingetragen. Dies hat zur Kon-
sequenz, dass das Feld vergrößert werden muss, falls weitere Termine hinzu-
kommen, außerdem ist es wiederum kaum möglich, dieses Feld auszuwerten.

Eine naheliegende Lösung dieses Problems wäre die Aufteilung dieses Feldes
in mehrere Einzelfelder, also z.B. folgendermaßen:

Beginn1 Ende1 Beginn2 Ende2 Beginn3 Ende3


1.2.98 5.2.98 10.2.98 15.2.98
2.3.98 3.3.98
5.3.98 7.3.98 8.3.98 9.3.98
8.3.98 8.3.98
Tabelle 2: Weiterer Versuch eines Entwurfs
Auch diese Variante mit sich wiederholenden Feldern sollten Sie tunlichst Wiederhol-
vermeiden. Die Tabelle müsste z.B. erweitert werden, falls mehr als drei Ter- felder
mine eingetragen werden müssen. Daneben wird sehr viel Platz verschwendet,
da viele Datensätze nur einen Termin haben und somit einige leere Felder oh-
ne Inhalt entstehen. Abgesehen davon, dass diese Leerfelder (Löcher in der Leerfelder
Tabelle) auch noch andere negativen Konsequenzen nach sich ziehen können,
ist es schwierig, mit diesen Wiederholfeldern zu arbeiten.

-4-
Datenbankentwurf

2.2 Vorgehen beim Datenbankentwurf


Im Folgenden möchte ich aufzeigen, welche Schritte beim Entwurf einer Da-
tenbank ergriffen werden sollten, wie die Daten auf mehrere Tabellen verteilt
werden (Normalisierung) und welche Regeln dabei beachtet werden sollten.

In dieser schwierigen Phase des Datenbankentwurfs sollten Sie zunächst das


spätere Aussehen Ihrer Daten in Form von Datenmasken (Formularen) oder
Berichten außer Acht lassen. Oft geben nämlich die Eingabemasken, Abfragen
oder Berichte keinen Aufschluss über die Struktur der Tabellen, auf denen sie
beruhen. Deshalb ist die Art, wie Daten an der Oberfläche verwendet werden,
oft völlig verschieden von der Art, wie Daten physikalisch in den Tabellen
gespeichert werden.

Zu Beginn steht die Entscheidung an, welche Daten gespeichert werden sollen.
Hierunter fallen das Befragen von Sachbearbeitern oder das Sammeln von
Dokumenten, Formularen und Listen. Neben den aktuellen Anforderungen
sollten auch zukünftige Wünsche berücksichtigt werden.

Im logischen Datenbankentwurf werden die Daten auf die einzelnen Tabellen


verteilt. Hierzu sollten folgende Schritte befolgt werden:

• Zusammenfassung von inhaltlich zusammengehörigen Daten (gesunder Logischer Da-


Menschenverstand) ten-
bankentwurf
• Normalisierung

• Vergabe von Schlüsseln für die einzelnen Tabellen

• Analyse der Beziehungen

In unserem Beispiel bedeutet dies, dass wir drei unterschiedliche Datenblöcke


bilden, für die wir eine Kundentabelle, eine Autotabelle und eine Verleihtabel-
le anlegen.

Kd-Nr Name Vorname Straße PLZ Ort


1 Meier Hans Waldweg 5 35392 Gießen
2 Wagner Maria Wiesenstr. 59 35392 Gießen
3 Bauer Heinz Tulpenstr. 12 35039 Marburg
4 Schmidt Hugo Hauptstr. 44 35043 Marburg
5 Müller Willi Rosenstr. 4 35392 Gießen
...

Tabelle 3: Kundentabelle
Auto-Nr Modell Baujahr
1 Opel Corsa 1996
2 Audi 100 1997
3 VW Passat 1995
4 Mercedes 300 1993
5 VW Golf 1998
...

Tabelle 4: Autotabelle

-5-
Datenbankentwurf

Lfd-Nr Kunden-Nr Auto-Nr Beginn Ende


1 3 2 02.01.1998 05.01.1998
2 1 4 05.02.1998 06.02.1998
3 3 5 10.03.1998 10.03.1998
4 5 2 12.03.1998 13.03.1998
5 1 4 15.03.1998 20.03.1998
...

Tabelle 5: Verleihtabelle

2.3 Normalisierung
Unter der Normalisierung von Daten versteht man die Überführung der häufig Definition
komplexen Beziehungen in einfache Relationen (Tabellen).

Zunächst sollte darauf geachtet werden, dass Einzelinformationen in eigenen Atomisierung


Feldern gespeichert werden. Beispielsweise sollten Name und Vorname oder
Postleitzahl und Ort immer in getrennten Feldern enthalten sein (s.o.).

Zur Vermeidung von Redundanzen, häufigen Löchern (kein Eintrag in Daten-


feldern) und um größte Flexibilität der Datenbestände zu erreichen, sollten zu-
dem folgende Grundregeln (Normalformen) beachtet werden:

1. In einer Tabelle sollte sich kein Datenelementtyp wiederholen. Normalformen


2. Enthält eine Tabelle einen zusammengesetzten Schlüssel (Kombinati-
onsschlüssel), so sollten alle Felder der Datenbank von beiden Kompo-
nenten des Schlüssels abhängig sein.

3. Alle Felder in der Tabelle sollten ausschließlich vom Schlüssel abhän-


gig sein (keine transitive Abhängigkeit der Nichtschlüsselfelder).

Für die erste Regel können wir uns auf das zu Beginn angeführte Beispiel
(Autoverleih, s. Tabelle 1 und Tabelle 2) beziehen. Sie besagt folgendes:

• Es dürfen nicht mehrere Einträge innerhalb eines Feldes vorgenommen 1. Normalform


werden (z.B. zwei Termine innerhalb des Feldes Termin).

• Es dürfen keine Wiederholfelder innerhalb einer Tabelle auftreten.

Weitere Beispiele für die Verletzung der 1. Normalform:

• Patiententabelle, die mehrere Diagnosen enthält: Diagnose1, Diagnose2,


Diagnose3

• Studententabelle, die die Studienfächer Fach1, Fach2, Fach3 enthält.

-6-
Datenbankentwurf

Zur Vermeidung solcher Regelverletzung müssen in der Regel immer wieder Lösung: Neue
die entsprechenden Daten in neue Tabellen ausgegliedert werden. Damit die Tabelle
Daten später wieder zusammengeführt werden können, muss das Schlüsselfeld
(Kunden-Nr, Auto-Nr, Matrikel-Nr, Patienten-Nr) für die Verknüpfung in die
neue Tabelle übernommen werden. Diese Verknüpfungsfelder sind aber auch
die einzigen Felder, die in mehreren Tabellen vorkommen können (Redun-
danz).

Für unsere konkreten Beispiele bedeutet das:

In der Patientendatenbank wird eine separate Diagnosentabelle angelegt, die


die Patienten-Nummer und die Diagnosen in jeweils eigenen Datensätzen ent-
hält:

Patienten-Nr Diagnose
4 Husten
2 Schnupfen
4 Kopfschmerzen
1 Asthma
2 Husten
4 Asthma
...
Tabelle 6: Ausgelagerte Diagnosentabelle
Für die Studentenverwaltung wird eine Fächertabelle erstellt.

Matrikel-Nr Fach
111111 Mathematik
111111 Physik
555555 Englisch
555555 Französisch
666666 Mathematik
666666 Sport
...
Tabelle 7: Ausgelagerte Fächertabelle
Beachten Sie, dass diese zwei Tabellen noch nicht optimal sind, da anstelle der
Bezeichnungen für die Diagnosen und Fächer entsprechende Codes verwendet
werden sollten.

Die zweite Normalform bezieht sich auf Tabellen, die auf einem Kombinati- 2. Normalform
onsschlüssel basieren, bei denen also erst durch zwei oder mehrere Felder die
eindeutige Identifizierung der Datensätze erreicht wird.

Zur Veranschaulichung wollen wir die letzten zwei Tabellen etwas erweitern:

-7-
Datenbankentwurf

Patienten-Nr Diagnose-Code Diagnose Diagnose-Datum


4 25 Husten 13.3.1998
2 34 Schnupfen 12.4.1998
4 13 Kopfschmerzen 13.3.1998
1 56 Asthma 15.6.1998
2 25 Husten 13.3.1998
4 56 Asthma 31.7.1998
...
Tabelle 8: Erweiterte Diagnosetabelle
In dieser Diagnosentabelle kann die Patienten-Nr nicht als eindeutiger Schlüs- Kombinations-
sel fungieren, da ein Patient mehrere Diagnosen haben kann. Ebenso wenig schlüssel
kann der Diagnose-Code als Hauptschlüssel herangezogen werden, da eine
Diagnose von mehreren Patienten angenommen wird. Erst die Kombination
von Patienten-Nr und Diagnose-Code sorgt dafür, dass jeder Datensatz eindeu-
tig identifizierbar ist. Wir haben also hier einen Kombinationsschlüssel, der
sich aus den beiden Feldern Patienten-Nr und Diagnose-Code zusammensetzt.
Die zweite Normalform fordert nun, dass die nachfolgenden Felder Diagnose
und Diagnose-Datum von beiden Komponenten dieses Schlüssels abhängig
sein müssen.

Für das Diagnose-Datum trifft dies zu. So sind z.B. in den Sätzen 1 und 3 die
Patienten-Nummern gleich, in den Sätzen 4 und 6 die Diagnose-Codes iden-
tisch. Damit ist das Diagnose-Datum von beiden Feldern abhängig.

Das Feld Diagnose ist jedoch nur von einer Komponente des Kombinations- keine Abhän-
schlüssels abhängig, nämlich dem Diagnose-Code. Somit wird hier die 2. gigkeit von
Normalform verletzt, dieses Feld gehört also nicht in diese Tabelle, sondern
beiden Feldern
muss wieder in eine separate Tabelle ausgelagert werden, die Diagnose-Codes
und Bezeichnungen enthält.

Ähnlich verhält es sich mit der Studententabelle.

Matrikel-Nr Fachbereichs-Nr Geburtsdatum Examensnote


111111 20 12.1.1975 2
111111 12 13.6.1973 1
555555 15 15.9.1974 3
555555 7 11.3.1976 2
666666 20 19.2.1971 3
666666 12 25.1.1969 1
...
Tabelle 9: Erweiterte Fächertabelle
Auch hier liegt der Kombinationsschlüssel aus Matrikel-Nr und Fachbereichs-
Nr zugrunde. Während die Examensnote von beiden Komponenten bestimmt
wird und damit in diese Tabelle gehört, ist das Geburtsdatum falsch plaziert,
da es nur von der Matrikel-Nr abhängt.

-8-
Datenbankentwurf

Die dritte Normalform fordert, dass alle Felder einer Tabelle direkt vom 3. Normalform
Hauptschlüssel abhängig sein müssen. Ein Feld darf also nicht direkt von ei-
nem nachgeordneten Feld abhängen.

Betrachten wir hierzu die modifizierte Fächertabelle:

Matrikel-Nr Fachbereichs-Nr Prüfer Telefon Examensnote


111111 20 Meier 43456 2
111111 12 Schmidt 23454 1
555555 15 Bauer 23345 3
555555 7 Lauer 54321 2
666666 20 Müller 13456 3
666666 12 Schmidt 23454 1
...
Tabelle 10: Modifizierte Fächertabelle
Während das Feld Prüfer vom gesamten Schlüssel, also von Matrikel-Nr und Transitive Ab-
Fachbereichs-Nr bestimmt wird, ist die Telefon-Nr nur vom nachgeordneten hängigkeit
Feld (Nichtschlüsselfeld) Prüfer abhängig. Wir haben also hier eine transitive
Abhängigkeit der Telefonnummer vom Prüfer. Damit gehört die Telefon-
nummer des Prüfers nicht in diese Tabelle.

Weitere Beispiele für die Verletzung der 3. Normalform:

In einer Kundenstammtabelle sind neben dem Namen des Ansprechpartners Keine direkte
auch weitere Details des Ansprechpartners wie Adresse gespeichert. Diese Abhängigkeit
Details sind jedoch nicht vom Primärschlüssel, der Kundennummer, sondern
vom Pri-
vom Ansprechpartner, abhängig. Deshalb sollte hier eine separate Tabelle für
die Ansprechpartnerdaten eingerichtet werden. mäschlüssel

Kd-Nr Name Vorname Ort Ansprechpartner Ort des Anspr.


1 Meier GmbH Hans Gießen Herr Hauser Klein-Linden
2 Wagner Maria Gießen Frau Bieder Lollar
3 Bauer Heinz Marburg Frau Wolf Cappel
4 Schmidt Hugo Marburg Herr Weller Gisselberg
5 Müller Willi Gießen Herr Kramer Linden
...

Tabelle 11: Transitive Abhängigkeit


In einer Adresstabelle ist neben dem Ort auch der Kreis enthalten, z.B. Lich,
Kreis Gießen. Das Feld Kreis ist jedoch nicht vom Schlüsselfeld der Tabelle,
sondern vom Ort abhängig.

Aufgrund der dritten Normalform müsste eine Ort-Kreis-Tabelle erstellt wer-


den. Ähnliches würde für die drei Felder Postleitzahl, Straße und Ort gelten.
Auch hier ist die Postleitzahl direkt von Straße (sogar von der Straßennummer
→ Zerlegung von Straße in Straße und Nr wegen Atomisierung) und Ort ab-
hängig. Der hohe Aufwand für diese strenge Auslegung ist jedoch aus prakti-
schen Erwägungen nur bei sehr großen Datenmengen zu vertreten.

-9-
Datenbankentwurf

2.4 Analyse der Beziehungen


In den Beziehungen der Tabellen untereinander spielt der Begriff “Referen- Referentielle
tielle Integrität” eine wichtige Rolle. Dies bedeutet, dass die Daten bzgl. ihrer Integrität
Verknüpfungen konsistent bleiben. Wenn beispielsweise in einer Kundenta-
belle ein Kunde gelöscht wird, obwohl in der Bestelltabelle noch Bestellungen
dieses Kunden existieren, können die Bestelldaten nicht mehr zugeordnet wer-
den, sind also verwaist. Gute Datenbanksysteme sollten solche Inkonsistenzen
ausschließen.

Bei der Verknüpfung zweier Tabellen wird eine Tabelle immer als Masterta-
belle und die mit ihr verbundene Tabelle als Detailtabelle definiert.

Wir unterscheiden hierbei drei Beziehungsarten:

1:1-Beziehung: Einem Datensatz einer Tabelle ist genau ein Datensatz ei- 1:1-Beziehung
ner zweiten Tabelle zugeordnet. Normalerweise können
die beiden Tabellen in eine einzige Tabelle überführt wer-
den. Manchmal sollen jedoch Zusatzinformationen in der
Mastertabelle nicht gespeichert werden, weil sie selten
benötigt werden oder weil nicht jeder die Daten einsehen
soll, z.B. das Gehalt eines Mitarbeiters.

1:N-Beziehung: In dieser sehr häufig auftretenden Beziehung können für 1:N-Beziehung


einen Datensatz der Mastertabelle mehrere Datensätze der
Detailtabelle vorliegen. Beispiele hierfür sind:

• Diagnosedaten von Patienten,

• Bestelldaten von Kunden,

• Personaldaten einer Abteilung.

In der Regel enthält die Detailtabelle den gesamten Schlüssel der Mastertabel-
le sowie weitere Informationen.

M:N-Beziehung: Hier existieren 1:N-Verknüpfungen in beide Richtungen. M:N-


Beispiel: Beziehung
Autoren - Bücher: Ein Autor kann mehrere Bücher
schreiben, ein Buch kann von
mehreren Autoren geschrieben
werden.

Artikel - Lieferanten: Ein Artikel kann mehrere Liefe-


ranten haben, ein Lieferant bietet
mehrere Artikel an.

- 10 -
Datenbankentwurf

Diese Beziehung wird durch Bildung einer neuen Tabelle


aufgelöst, die die Schlüsselfelder der beiden anderen Ta-
bellen als Kombinationsschlüssel enthält.

Artikel-Tabelle Artikel-Lieferanten Lieferanten-Tabelle

Artikel-Nr, Be- Artikel-Nr, Lieferanten-Nr, Preis, ... Lieferanten-Nr, Name,


zeichnung, ... ...

1→ M:N ←1

Tabelle 12: Auflösung einer M:N-Beziehung

Falls eine Diagnosecode-Tabelle vorliegt (ICD), liegt auch zwischen Patienten


und Diagnosen eine M:N-Beziehung vor: Ein Patient kann mehrere Erkran-
kungen (Diagnosen) haben, eine Diagnose kann bei vielen Patienten vorliegen.

Patientenstamm Patient-Diagnosen Diagnose-Codes

Patienten-Nr, Patienten-Nr, Diagnose-Code, Di- Diagnose-Code, Be-


Name, ... agnose-Datum, ... zeichnung, ...

1→ M:N ←1

Tabelle 13: M:N-Beziehung (Diagnosen)

Auch unser erstes Beispiel (Autoverleih) weist eine M:N-Beziehung auf.

Kundenstamm Ausleihe Auto

Kunden-Nr, Na- Kunden-Nr, Auto-Nr, Beginn, Ende, Auto-Nr, Modell, Bau-


me, ... ... jahr, ...

1→ M:N ←1

Tabelle 14: M:N-Beziehung (Autoverleih)

- 11 -
Datenbankentwurf

2.5 Indizierung
Bei den Schlüsseln möchte ich hier zwischen Primärschlüsseln und Sekun-
därschlüsseln unterscheiden. Durch den Primärschlüssel wird jeder Datensatz
eindeutig identifiziert. Jede Tabelle sollte einen solchen Primärschlüssel erhal-
ten. Alle anderen Schlüssel sind Sekundärschlüssel.

Der Einsatz von Primärschlüsseln hat folgende Vorteile:

• Daten aus verschiedenen Tabellen werden automatisch richtig miteinander


verknüpft. Somit können Beziehungen zwischen den Einzelinformationen
besser hergestellt werden. Auch manche Assistenten wie z.B. der Nach-
schlageassistent bedienen sich der Primärschlüsselfelder.

• Der Zugriff auf die Daten erfolgt schneller.

• Detaildaten können in der Tabellenansicht eingeblendet werden.

Das Primärschlüsselfeld kommt in der Regel auch in einer verknüpften Tabel- Fremd-
le vor. So wird die Patienten-Nr z.B. auch in der Diagnosentabelle benötigt. schlüssel
Da aber ein Patient mehrere Diagnosen haben kann, ist die Patienten-Nr hier
nicht eindeutig, sie kann also hier nicht als Primärschlüssel, sondern lediglich
als Fremdschlüssel dienen.

Wegen der Eindeutigkeit kann es mitunter sinnvoll sein, dass mehrere Felder Primär-
gemeinsam als Primärschlüssel definiert werden, wie z.B. Name, Vorname schlüssel muss
und Geburtsdatum (Kombinationsschlüssel). Da Primärschlüssel jedoch lang-
eindeutig sein
fristig nicht mehr verändert werden sollten und natürliche mnemotechnische
Schlüssel wie Name meistens ungeeignet sind, eignen sich meiner Meinung
nach künstliche Schlüssel wie Patienten-Nr, Kunden-Nr, Matrikel-Nr, Konto-
Nr oder Laufende Nr am besten. Diese Schlüssel sind unabhängig, sie haben
nichts mit real existierenden Eigenschaften gemein. Außerdem sind diese
Schlüssel bei weiteren Verknüpfungen mit anderen Tabellen einfacher zu
handhaben.

Um Doppelerfassungen zu vermeiden, können Sie z.B. in einer Patientenver- Doppelerfas-


waltung zusätzlich zum künstlichen Primärschlüssel Patienten-Nr einen weite- sungen ver-
ren Kombinationsschlüssel definieren, der die drei Felder Name, Vorname und
meiden
Geburtsdatum umfasst. In diesem zusammengesetzten Sekundärschlüssel wird
die Eigenschaft Eindeutig auf „Ja“ gesetzt.

Für das schnellere Suchen oder für Verknüpfungsfelder können für weitere Suchschlüssel
Felder Suchschlüssel vergeben werden, z.B. für das Feld Name. Hier können
Werte auch mehrfach vorkommen, z.B. “Müller”.

Achten Sie darauf, dass bei 1:N-Beziehungen der Schlüssel des Verknüp-
fungsfeldes auf der N-Seite nicht als eindeutiger Schlüssel definiert ist.

Beispiel: Die Patientenstammdaten werden über das Feld Patienten-Nr mit


der Diagnose-Tabelle verknüpft. In der Diagnose-Tabelle sollte

- 12 -
Datenbankentwurf

das Feld Patienten-Nr zwar als Verknüpfungsfeld indiziert wer-


den, der Schlüssel darf aber nicht eindeutig sein, da ein Patient
mehrere Diagnosen haben kann.

- 13 -
Die Access-Datenbank

3 Die Access-Datenbank
Eine Access-Datenbank ist eine Zusammenfassung aller Objekte eines inhalt- Access-
lich zusammengehörigen Komplexes. Diese Objekte werden in einer zentralen Datenbank
Datei verwaltet, welche die Namenserweiterung .mdb (Access2007: .accdb)
erhält. Für die Datenbank sowie für die einzelnen Objekte innerhalb der Da-
tenbank können Sie aussagekräftige längere Namen verwenden. Auch Leer- Objekte
zeichen können verwendet werden. Nicht erlaubt sind der Punkt, das Ausrufe-
zeichen (!) und die eckigen Klammern ([]). Für die Datenbankobjekte (Tabel- Objektnamen
len, Abfragen, Formulare, Berichte) sind allerdings maximal 64 Zeichen er-
laubt. Man könnte eine Access-Datenbank mit einer Arbeitsmappe in Excel
vergleichen. In Excel treten an die Stelle der Datenbankobjekte entsprechende
Arbeitsblätter für Tabellen oder Diagramme.

Die Objekte einer Datenbank werden in einem zentralen Fenster, dem Daten- Datenbank-
bankfenster, verwaltet. Wegen seiner großen Bedeutung kann das Datenbank- fenster
fenster jederzeit mit der Funktionstaste <F11> oder durch Anklicken des Da-
tenbanksymbols aktiviert werden.

3.1 Datenbankobjekte
Tabelle: Tabellen bilden das Grundgerüst der Datenbank. In einer Tabel- Datensatz,
le werden inhaltlich zusammengehörige Daten wie z.B. Adress- Felder
daten, Rechnungs- oder Auftragsdaten gespeichert. Meistens
enthält eine Datenbank mehrere Tabellen. Die Zeile einer Ta-
belle enthält einen Datensatz, welcher sich aus mehreren Fel-
dern zusammensetzt, z.B. Name, Vorname, Geburtsdatum usw.
Diese Einzelinformationen werden in den Spalten oder auch
Datenfeldern der Tabelle abgelegt.

Abfrage: In einer Abfrage werden bestimmte Kriterien hinterlegt, durch


die eine Auswahl aus den bestehenden Datenbeständen getrof-
fen werden kann. Außerdem können sie dazu dienen, Daten aus
mehreren Tabellen zusammenzuführen.

Formular: Formulare stellen die Oberfläche zur Bearbeitung von Tabel-


lendaten zur Verfügung. Sie zeigen im Unterschied zu Tabellen
meistens nur einen Datensatz an, können aber auch in Tabellen-
form aufgebaut werden. Weiterhin können in einem Formular
Felder aus mehreren zugrundeliegenden Tabellen bearbeitet
werden. Somit können sich die physikalische Speicherung der
Daten in Tabellen und die Bearbeitung der Daten in Formularen
erheblich unterscheiden.

Bericht: Berichte dienen dazu, die gewünschten Daten in ansprechender


Form auf den Drucker auszugeben.

Makro: Mit Makros werden häufig benötigte Aktionen automatisiert.


Hiermit wird das Anwendungsspektrum von Access erheblich

- 14 -
Die Access-Datenbank

erweitert. Sie stellen eine Vorstufe zur Programmierung dar,


sind aber erheblich einfacher anzuwenden.

Modul: Zur Lösung spezieller Probleme wird eine eigene Programmier-


sprache, das Visual Basic for Application (VBA), angeboten.
Diese Programmiersprache wird auch in den Officeprodukten
Word und Excel verwendet.

Objekte können im Entwurfs- und Datenblattmodus bearbeitet werden. Wäh-


rend im Entwurfsmodus z.B. die Struktur einer Tabelle oder der Aufbau eines
Formulars festgelegt werden, können im Datenblattmodus die zugrundeliegen-
den Daten in Tabellenform angesehen und bearbeitet werden.

Im Datenbankfenster werden die entsprechenden Objekte verwaltet. Durch


Anklicken des gewünschten Typs am linken Rand werden die vorhandenen
Tabellen, Abfragen, Formulare usw. aufgelistet.

Abbildung 1: Datenbankfenster
Durch Doppelklick oder Einfachklick und Schaltfläche "Öffnen" im Daten- Objekt öffnen
bankfenster wird ein Objekt geöffnet. Alternativ bietet auch das Kontextmenü
(rechte Maustaste) diese Möglichkeiten. Zum Wechseln in den Entwurfsmo-
dus können Sie anschließend das Entwurfssymbol anklicken oder vorher im
Datenbankfenster die Schaltfläche "Entwurf" anstelle "Öffnen" wählen.

Das Schließen eines Objektfensters erfolgt über den Befehl Datei Schließen Objekt schlie-
oder durch Anklicken des Schließen-Symbols (x) am oberen rechten Rand der ßen
Titelzeile des geöffneten Fensters.

Im Datenbankfenster ist dies gleichbedeutend mit dem Schließen der gesamten


Datenbank.

Mit Hilfe des Befehls Extras Datenbank-Dienstprogramme Datenbank komp- Komprimieren


rimieren sollten Sie immer wieder Ihre Datenbank vom Speicherbedarf her

- 15 -
Die Access-Datenbank

kleiner machen, da Access den Platz, der durch gelöschte Objekte frei wird,
nicht automatisch zur Verfügung stellt. Im Menübefehl Extras Optionen Re-
gister Allgemein können sie in der entsprechenden Option dafür sorgen, dass
die Datenbank beim Schließen automatisch komprimiert wird.

Beim Speichern von Objekten (Tabellen, Abfragen, Formularen, Berichten Speichern von
und Makros) müssen wir unterscheiden zwischen dem Speichern der zugrun- Objekten =
deliegenden Daten und dem Speichern des Entwurfs. Während uns die Daten-
Speichern des
speicherung in der Regel vom System abgenommen wird und automatisch
(beim Satzwechsel) erfolgt, bedeutet das Speichern einer Tabelle z.B. die Si- Entwurfs
cherung des Layouts (Spaltenbreiten usw.), das Speichern eines Formulars
oder Berichts die Sicherung des Entwurfs.

Die gesamte Datenbank wird vom System automatisch gespeichert. Insofern Datenbank
existiert für die Datenbank kein Befehl Datei Speichern oder Datei speichern speichern
unter. Der Ablageort wird also bereits beim Anlegen der Datenbank festgelegt
und kann später außerhalb von Access, z.B. mit dem Windows-Explorer, ver-
ändert werden. Neuerdings können Sie mit dem Befehl Datei Datenbank si-
chern aber auch die ganze Datenbank speichern.

Sie können aber auch innerhalb von Access Datenbankdateien kopieren, ver-
schieben oder löschen. Wie in anderen Office-Programmen auch finden Sie im
Öffnen-Dialogfenster (Öffnen-Symbol oder Befehl Datei öffnen) einen kleinen
Dateimanager integriert. Nach Auswahl der gewünschten Datei durch Ankli-
cken finden Sie im Kontextmenü des Objekts (rechte Maustaste innerhalb der
Markierung) Befehle zum Kopieren, Ausschneiden, Einfügen (Zwischenabla-
ge) oder den Befehl Senden an zum Kopieren auf Diskette oder andere Lauf-
werke. Achten Sie vor dem Einfügen aus der Zwischenablage darauf, dass Sie
über den Punkt Suchen in und die Ordnerliste zunächst den Zielordner aus-
wählen.

Auch das Erstellen neuer Objekte, das Umbenennen, Löschen oder Drucken Neues Objekt
von Objekten erfolgt im Datenbankfenster. Über die Schaltfläche "Neu" des
entsprechenden Moduls wird ein neues Objekt erstellt (alternativ über den Be-
fehl Einfügen Tabelle (Abfrage, ...) oder über ein Symbol).

Mit dem Befehl Bearbeiten Umbenennen kann ein (markiertes) Objekt umbe- Objekt umbe-
nannt werden. Wenn Sie ein markiertes Objekt erneut anklicken, können Sie nennen
den Namen anschließend direkt bearbeiten (analog zur Windows-Bedienung).
löschen
Zum Löschen eines Objekts markieren Sie dieses und betätigen anschließend
die <Entf>-Taste. Über das Druckersymbol kann ein Objekt ausgedruckt wer- drucken
den.

Zum Arbeiten mit den Objekten können Sie auch mit der rechten kontextbezo- Rechte Maus-
genen Maustaste arbeiten. Hierzu klicken Sie das Objekt mit der rechten taste
Maustaste an und wählen anschließend aus den nun angezeigten Befehlen den
gewünschten mit der linken Maustaste aus.

- 16 -
Die Access-Datenbank

Beim Aufbau von Datenbanken ist es häufig sinnvoll, eine Tabelle oder ein Objekte dupli-
Formular zum Experimentieren als Testobjekt in zweifacher Ausfertigung zu zieren
speichern. Im Datenbankfenster gelingt dies sehr einfach mit Hilfe der Zwi-
schenablage, indem Sie das markierte Objekt zunächst mit den bekannten
Möglichkeiten (Kopieren-Symbol, Befehl Bearbeiten Kopieren oder Tasten-
kombination <Strg>+C) in die Zwischenablage kopieren, anschließend wie
gewohnt das Objekt aus der Zwischenablage wieder einfügen (Einfügen-
Symbol, Befehl Bearbeiten Einfügen oder Tastenkombination <Strg>+V),
wobei sie aufgefordert werden, einen (neuen) Namen für das einzufügende
Objekt anzugeben. Beim Einfügen können Sie zwischen mehreren Optionen
wählen, z.B. ob nur die Struktur übernommen werden soll.

Abbildung 2: Objekt duplizieren

3.2 Bildschirmaufbau von Access


Als Windows-Applikation ist auch der Access-Bildschirm nach den bekannten
Gepflogenheiten aufgebaut. Nach dem Start von Access erscheint zunächst ein
Dialogfenster, in dem Sie wählen, ob Sie eine vorhandene Datenbank öffnen
oder eine neue Datenbank anlegen möchten. Der Fensteraufbau von Access
gliedert sich danach von oben nach unten in folgende Komponenten:

Abbildung 3: Access-Bildschirm

- 17 -
Die Access-Datenbank

• Titelzeile der Anwendung Access mit den gewohnten Fenstersymbolen


• Menüzeile mit den Befehlen
• Symbolleiste, die je nach gewähltem Programmteil ihr Aussehen ändert.
Die Bedeutung der einzelnen Symbole wird automatisch angezeigt, falls
der Mauszeiger auf einem Symbol stehenbleibt (Quickinfo)
• Datenbankfenster oder andere Fenster
• Statuszeile
• Taskleiste mit dem Startbutton zum Wechseln zwischen Programmen (ge-
hört zur Windows-Oberfläche).
Änderungen der Symbolleisten nehmen Sie über den Befehl Ansicht Symbol-
leisten, weitere Einstellungen im Rahmen des Befehls Extras Optionen Regis-
ter Ansicht vor.

- 18 -
Tabellen

4 Tabellen
Tabellen bilden die Grundlage einer Datenbank. Die Struktur der Datenbank
wird durch Tabellen festgelegt. Tabellen sollten sehr sorgfältig aufgebaut wer-
den, damit spätere Strukturänderungen nicht erforderlich sind. Da die realen
Daten in Tabellen gespeichert werden, sollten Sie dafür sorgen, dass die Da-
tenbank regelmäßig gesichert wird, da ein Verlust von Tabellen das in der
Regel das größte Unglück ist.

Eine Tabelle gliedert sich in Zeilen (Datensätze) und Spalten (Felder oder At- Zeilen = Da-
tribute). Als strukturierte Datenbank müssen alle Datensätze innerhalb einer tensätze
Tabelle die gleiche Struktur haben.
Spalten = Fel-
Die Anzahl der Datensätze ist praktisch nur von der Hardware abhängig, ma- der
ximal sind 255 Felder innerhalb einer Tabelle möglich. Wer sich jedoch an die
Regeln des Datenbankaufbaus hält (siehe Kapitel 1), wird kaum in die Verle-
genheit kommen, eine sehr große Anzahl von Feldern innerhalb einer Tabelle
zu benötigen, sondern versuchen, mehrere Tabellen innerhalb einer Datenbank
anzulegen und diese sinnvoll zu verknüpfen.

Innerhalb einer Datenbank können bis zu 255 Tabellen angelegt werden.

4.1 Tabellenentwurf
Zum Anlegen einer neuen Tabelle wählen Sie im Datenbankfenster das Regis-
ter Tabellen aus und klicken anschließend die Schaltfläche "Neu" an. Alterna-
tiv kann auch der Befehl Einfügen Tabelle oder das Symbol Neues Objekt ge-
wählt werden.

Abbildung 4: Neue Tabelle erstellen

- 19 -
Tabellen

Für den Aufbau neuer Tabellen können Sie zwischen verschiedenen Methoden
auswählen:

1. Datenblattansicht:

Hier wird Ihnen eine Tabelle mit 20 Spalten vorgespielt, in die Sie ohne Um-
schweife Daten eingeben können. Die Spaltenbezeichner Feld1, Feld2 usw.
können durch Doppelklick in der Spaltenüberschrift markiert und anschlie-
ßend neu benannt werden. Beim Verlassen und Speichern der Tabelle erzeugt
Access eine Datenstruktur, die sich nach dem Typ der eingegebenen Daten
richtet.

Dieses Vorgehen ist zwar sehr praxisnah, erfordert aber meistens nachträgli-
che Korrekturen, die sehr aufwendig sein können. Deshalb empfehle ich die-
sen Weg nur in Ausnahmefällen.

2. Tabellenassistent

Dieser Assistent hält eine Vielzahl bereits vorhandener Tabellenbeispiele be-


reit, die anschließend den eigenen Wünschen angepasst werden können.

• Nach Wahl des Tabellenassistenten kreuzen sie zunächst unten eine der Tabellen-
beiden Kategorien Geschäftlich oder Privat an. assistent

Abbildung 5: Tabellenassistent
• Wählen Sie die gewünschte Beispieltabelle durch Anklicken an.

• Legen Sie die Felder fest, die für Sie in Frage kommen. Hierzu markieren
Sie die gewünschten Felder und transportieren Sie über die Pfeilsymbole
nach rechts in die neue Tabelle. Die Doppelpfeile sorgen für die Übernah-
me aller Felder, über die nach links zeigenden Pfeile können die Felder aus
der neuen Tabelle entfernt werden. Einem markierten Feld der neuen Ta-

- 20 -
Tabellen

belle kann über die Schaltfläche "Feld umbenennen" eine andere Bezeich-
nung zugewiesen werden.

• Nach Anklicken der Schaltfläche "Weiter" können Sie in den nächsten


Schritten des Assistenten Namen, Primärschlüssel und Verknüpfungen für
die Tabelle angeben.

Nehmen Sie weitere Anpassungen der neuen Tabelle in der Entwurfsansicht


vor.

3. Entwurfsansicht:

Hier wird die Struktur einer neuen Tabelle aufgebaut oder die Definition einer
bereits vorhandenen Tabelle geändert.

Das Entwurfsfenster gliedert sich in drei Bereiche: Der obere Teil ist für die Tabellenent-
Feldeingaben vorgesehen, im unteren linken Bereich werden die Eigenschaf- wurf
ten der oben definierten Felder genauer bestimmt und im unteren rechten
Fensterteil werden Informationen und Hilfestellungen angezeigt.

Abbildung 6: Tabellenentwurf
Feldnamen: In den Feldern unter der Überschrift Feldname geben Sie
den Namen des Feldes ein. Er kann aus bis zu 64 Zeichen
bestehen, wobei auch Leerzeichen und Ziffern erlaubt sind.
Verboten sind Punkte, Ausrufezeichen, eckige Klammern
und Akzente. Verwenden Sie nicht zu lange Namen, da die
Namen auch in Formularen und Berichten verwendet wer-
den. Vor allem aber in der Programmierung wirken sich lan-
ge Namen (mit Leerzeichen) nachteilig aus. Andererseits
sollte der Name treffend sein, damit Sie später leicht erken-
nen, welches Feld sich hinter dem Namen verbirgt.

- 21 -
Tabellen

Beschreibung: In der Spalte Beschreibung geben Sie kurze Erläuterungen


zum Feld an. Dieser Text erscheint später in der Statuszeile,
sobald Sie das Feld in der Datenblattansicht der Tabelle oder
im Formular ansteuern.

4.1.1 Tabellenansichten
Es existieren verschiedene Ansichten einer Tabelle:

• die Entwurfsansicht zum Anlegen der Feldstruktur

• die Datenblattansicht zur Ansicht und Bearbeitung der Daten

• die Seitenansicht zum Ansehen des Druckbildes der Tabelle; diese ist nur
aus der Datenblattansicht aufrufbar.

• die Pivottable-Ansicht zur Auswertung nach Häufigkeiten

• die Pivotchart-Ansicht zur grafischen Auswertung der Häufigkeiten

Mit Hilfe des ersten Symbols in der Standardsymbolleiste können Sie jeweils
zwischen den ersten beiden Ansichten wechseln. Hierzu dient auch der An-
sicht-Befehl. Die Seitenansicht ist nur aus der Datenblattansicht möglich. Sie
spielt in der Praxis nur eine untergeordnete Rolle, da für den Datenausdruck
Berichte erstellt werden können.

Zum Testen der in der Entwurfsansicht festgelegten Feldformate können Sie


immer wieder in die Datenblattansicht wechseln, wobei Sie allerdings zuvor
aufgefordert werden, den Entwurf zu speichern.

4.1.2 Felddatentypen
Durch die Wahl geeigneter Felddatentypen können bereits im Vorfeld Fehl-
eingaben vermieden werden. In einem Zahlenfeld werden z.B. Texteingaben
nicht akzeptiert. Ebenso wenig können Sie in einem Datumsfeld falsche An-
gaben machen wie z.B. den 31. November.

- 22 -
Tabellen

Abbildung 7: Felddatentypen

- 23 -
Tabellen

Folgende Datentypen können durch Anklicken des Pfeils in der Spalte Feldda-
tentyp ausgewählt werden:

Felddatentyp Beschreibung Beispiel

Text Zur Eingabe von alphanumerischen Zeichen „Johann Wolf-


wie Buchstaben, Ziffern oder Sonderzeichen gang von Goe-
Standardgröße: 50 Zeichen, maximale Länge: the“
255 Zeichen. „0641/99-40210“
Auch Felder wie Telefonnummern oder Post- „D-04532“
leitzahlen können vom Felddatentyp Text
sein, da mit ihnen nicht gerechnet wird.

Memo Längere Texte bis max. 65536 Zeichen; Anmerkungen,


flexible Speicherung, die sich nach der Text- längere Be-
größe richtet. schreibungen
Nachteil: kein Index und keine Sortierung
möglich
Zoomen: <Shift>+<F2>
Absatzumbruch: Statt <Return> <Strg> +
<Return>
Formatierung ab Version 2007 möglich
Zahl Nur Ziffern, mit denen gerechnet wird 56789
Im unteren Teil des Fensters können im 3423,65
Punkt Feldgröße Varianten gewählt werden
(s.u.).

Datum/Zeit Für Datums- und Zeitwerte 18.3.1966


Gültige Jahre: zwischen Jahr 100 und 9999. 12:30
Bei zweistelligen Jahresangaben werden die
Daten zwischen dem 1.3.30 und 31.12.99 als
Datumswerte des 20. Jahrhunderts interpre-
tiert, die zwischen dem 1.1.00 und 31.12.29
als Daten aus dem 21. Jahrhundert; für Ge-
burtsdaten eignen sich daher zweistellige
Jahresangaben oft nicht.
Das Datumstrennzeichen ist normalerweise
der Punkt, das Trennzeichen für die Uhrzeit
der Doppelpunkt.
Genaue Datums- und Zeitdefinitionen wer-
den im Eigenschaftenfenster vorgenommen
(s.u.).
Access nimmt ungültige Angaben nicht an,
z.B. 29.2.2007 oder 24:30.
Währung Eingabe von Geldbeträgen. „2.4560,85 €“
Access rundet kaufmännisch auf zwei oder
die angegebenen Dezimalstellen (maximal 4)
und fügt das Währungssuffix hinzu „€“
Für Beträge usw. verwenden Sie diesen Typ,
da bei Zahlenfeldern intern mit hoher Genau-

- 24 -
Tabellen

Felddatentyp Beschreibung Beispiel

igkeit ohne Rundungen weitergerechnet


wird, während Währungsfelder mit Fest-
kommazahlen arbeiten.
Autowert Mit diesem Felddatentyp übernimmt Access
die fortlaufende Numerierung der Datensätze
beginnend bei 1.
Eingaben sind hier nicht möglich.
Autowert-Felder eignen sich besonders für
die Vergabe von eindeutigen Schlüsselnum-
mern (Primärschlüssel) in einer Tabelle.
Lücken in der Nummernfolge, die durch Lö-
schen von Datensätzen entstanden sind, soll-
ten Sie nicht weiter stören. Die Nummer
dient lediglich der Identifizierung eines Da-
tensatzes, über die Anzahl der Sätze sagt die
Nummer nichts aus.
Intern wird der Zahlentyp Long Integer ver-
wendet. Dies ist wichtig für Verknüpfungen,
da das verknüpfte Feld (Fremdschlüssel) in
einer anderen Tabelle vom Typ Long Integer
sein muss.
Ja/Nein Zur Speicherung von Gegensätzen oder logi- „Ja/Nein“
schen Werten (ja/nein, wahr/falsch, ein/aus) „Wahr/Falsch“
Intern wird für Nein der Wert 0, für Ja der „Ein/Aus“
Wert -1 gespeichert
OLE-Objekt Zum Einbinden von Objekten, die mit einer
OLE-fähigen Anwendung erstellt wurden,
z.B. Grafiken oder Bilder aus Corel Draw,
Excel- oder Word-Tabellen.
Kein Index möglich.
Hyperlink Verknüpfungen zu Adressen im Internet oder http://www.med.
Dateien auf dem Rechner. Beim Anklicken uni-giessen.de
wird automatisch die entsprechende Internet- c:\Eigene
seite angezeigt oder die Datei geöffnet. Dateien\test.doc
Nachschlage- Erstellt zum aktuellen Feld eine aufklappbare Listeneinträge
assistent Liste von Werten, von denen einer ausge-
wählt werden kann. (Näheres s.u.)

- 25 -
Tabellen

4.1.3 Feldeigenschaften
Im unteren Teil des Fensters werden die Feldeigenschaften für jedes oben an-
gesteuerte Feld spezifiziert. Hier können die Feldgröße, das Anzeigeformat,
bei numerischen Feldern zusätzlich die Anzahl der Dezimalstellen, die Be-
schriftung, Standardwerte, Gültigkeitsregeln und Gültigkeitsmeldungen, die
Schlüsselvergabe und weiteres bestimmt werden.

Feldgröße
Sie ist nur bei Text-, Autowert- und Zahlenfeldern möglich; bei Zahlenfeldern
wählen Sie in diesem Punkt die entsprechende Variante. Für das Textfeld
Postleitzahl könnten Sie die Feldgröße 5 angeben, für das Feld Nachname die
Größe 30.

Abbildung 8: Feldeigenschaften

Varianten für Zahlenfelder

Die Feldgröße eines Zahlenfelds bestimmt zum einen den Speicherplatz, der
damit belegt wird und zum anderen, welche Zahlen überhaupt erlaubt sind.

Nach Anklicken des Listenpfeils im Punkt Feldgröße eines Zahlenfeldes kön-


nen Sie zwischen folgenden Zahlentypen auswählen:

- 26 -
Tabellen

Feldgröße Zahlenbereich Dezimalstellen Speicherbedarf Zahlentypen


Byte ganze Zahlen zwi- keine 1 Byte
schen 0 und 255
Integer ganze Zahlen zwi- keine 2 Byte
schen -32768 und
32767
Long Integer ganze Zahlen zwi- keine 4 Byte
schen -2.147.483.648
und 2.147.483.647
Single positive und negative 7 4 Byte
Zahlen zwischen
-3,4*1038 bis 3,4*1038
Double positive und negative 15 8 Byte
Zahlen zwischen
-1,797*10308 bis
1,797*10308
ReplicationID im Zusammenhang 16
mit Replikaten

Sie sollten jeweils die kleinste Größe wählen.

Format
Mit der Format-Eigenschaft wird ein Ausgabeformat für die Felder festgelegt. Feldformate
Vor allem für Zahlen- und Datumsfelder können Sie über die aufklappbare
Liste vordefinierte Formate auswählen, es sind jedoch auch benutzerdefinierte
Formate mit Hilfe spezieller Formatierungssymbole definierbar.

Abbildung 9: Vordefinierte Anzeigeformate für Zahlenfelder


Mit der Auswahl Allgemeine Zahl werden Zahlen gemäß ihrer Eingabe ange-
zeigt (Vorgabe), Währung beinhaltet Tausenderpunkte mit zwei Dezimalstel-
len sowie dem in der Systemsteuerung von Windows eingestellten Währungs-
zeichen, Standardzahl zeigt Zahlen mit Tausenderpunkten und zwei Dezimal-
stellen an, Festkommazahl zeigt mindestens eine Ziffer mit zwei Dezimalstel-
len an, Prozentzahl multipliziert den eingegebenen Wert mit 100 und hängt

- 27 -
Tabellen

das Prozentzeichen an, und Exponentialzahl verwendet die wissenschaftliche


Schreibweise.

Abbildung 10: Vordefinierte Anzeigeformate für Datums-/Uhrzeitfelder


Die Anzeige der Datums- und Zeitfelder sind aus der Abbildung abzulesen.

Neben den vordefinierten Formaten können Sie hier anhand spezieller Format- Benutzerdefi-
symbole, auf die ich unten genauer eingehen möchte, eigene Formatdefinitio- nierte Formate
nen konstruieren. Für diese benutzerdefinierten Formate stellt Access Forma-
tierungssymbole zur Verfügung, durch die das Anzeigeformat der Felder be-
stimmt wird. Die Möglichkeiten hängen sehr stark mit dem Felddatentyp zu-
sammen.

Für Textfelder enthält die erste Komponente Symbole für die Felder, die Text
enthalten, die zweite Komponente Symbole für leere Felder.

Bei numerischen Feldern können bis zu vier verschiedene Bereiche angegeben


werden: die erste Komponente gilt für positive Zahlen, die zweite für negative,
die dritte berücksichtigt den Wert 0 und die vierte gilt dann, wenn das Feld
leer bleibt.

Die einzelnen Komponenten werden durch Semikolon voneinander getrennt.

Die meisten dieser Symbole können in der Formatangabe und in der Maske
des Eingabeformats eingesetzt werden, andere sind nur speziell für das Format
bzw. nur für die Eingabemaske bestimmt.

- 28 -
Tabellen

Symbole für benutzerdefinierte Formate in Text-, Zahlen- und Währungsfel-


der:

Platzhalter Funktion

, Dezimalkomma Gemäß Einstel-


lung in Win-
. Tausenderpunkt oder Datumstrennzeichen dows-
Systemsteue-
: Trennzeichen für Uhrzeit rung

0 Beliebige Ziffer, Eingabe erforderlich

9 Ziffer oder Leerzeichen, kein Plus- oder Minuszeichen, Einga-


be optional

# Beliebige Ziffer oder Leerzeichen, Plus- oder Minuszeichen;


Eingabe optional

% Zahl als Prozentzahl

L Buchstabe (A-Z); Eingabe erforderlich

? Beliebiger Buchstabe; Eingabe optional

A Beliebiger Buchstabe oder Ziffer, Eingabe erforderlich

a Beliebiger Buchstabe oder Ziffer, Eingabe optional

& Beliebiges Zeichen oder Leerzeichen, Eingabe erforderlich

C Beliebiges Zeichen oder Leerzeichen, Eingabe optional

\ Das folgende Zeichen ist ein festes Füllzeichen

< Wandelt alle folgenden Zeichen in Kleinbuchstaben um

> Wandelt alle folgenden Zeichen in Großbuchstaben um

! Die Eingabemaske wird an dieser Stelle von rechts nach links


ausgefüllt.

[Farbe] Zeigt den Feldinhalt in dieser Farbe an

* Das nächste Zeichen füllt den verfügbaren Leerraum im Feld


aus

„Text“ Der Text in Anführungszeichen wird angezeigt

- 29 -
Tabellen

Benutzerdefinierte Symbole für Datums-/Zeit-Felder

: Zeit-Trennzeichen

. Datums-Trennzeichen

g Standarddatum

t Tag des Monats mit einer oder zwei Ziffern

t Tag des Monats mit zwei Ziffern

ttt Wochentag mit drei Zeichen (Mon-Son)

tttt Wochentag ausgeschrieben

ttttt Datum kurz (vordefiniertes Format)

m Monat als Ziffer(ein- oder zweistellig)

mm Monat als Ziffer (zweistellig)

mmm Ersten drei Zeichen des Monatsnamens (Jan, Feb, ...)

mmmm Vollständiger Monatsname

w Tag der Woche als Nummer

ww Woche des Jahres als Nummer

q Quartal des Jahres

j Tag des Jahres als Nummer (1-366)

jj letzten zwei Ziffern der Jahreszahl

jjjj Vollständige Jahreszahl

h und hh Stunde mit einer oder zwei Ziffern

n und nn Minute mit einer oder zwei Ziffern

s und ss Sekunde mit einer oder zwei Ziffern

Um die Jahreszahl immer vierstellig angezeigt zu bekommen, könnten Sie im Beispiele


Punkt Format das Datumsformat tt.mm.jjjj eingeben. In einem numerisch de-
finierten Postleitzahlenfeld könnten Sie das Format „00000“ wählen, um füh-
rende Nullen angezeigt zu bekommen.

- 30 -
Tabellen

Wählen Sie das Format sorgfältig, da es in Formularen und Berichten, die auf
dieser Tabelle basieren, übernommen wird. Nachträgliche Formatänderungen
in der Tabellendefinition werden in bereits vorhandenen Formularen und Be-
richten nicht erkannt und müssen deshalb auch dort noch einmal angepasst
werden.

Dezimalstellen
Bei numerischen Feldern können Sie hier die Anzahl der Dezimalstellen Dezimalstellen
bestimmen. Werte zwischen 0 und 15 sind hier möglich. Wählen Sie hier Au-
tomatisch, wird die Einstellung aus dem Punkt Format übernommen.

Eingabeformat
In diesem Feld können mit bestimmten Schablonenzeichen (s.o.) Eingabemas- Eingabeforma-
ken definiert werden, um dem Anwender die Dateneingabe zu erleichtern. te
Diese Muster können für die Felder vom Typ Text, Zahl, Währung und Datum
erstellt werden. Sie sind besonders dann sinnvoll, wenn die Daten immer
gleich aufgebaut sind, wie z.B. die ISDN-Nummer oder eine Artikelnummer.

Beispiele für Eingabemasken:

Eingabeformat Verwendungszweck Eingabe Anzeige

00000 Postleitzahl; 5 Ziffern müs- 08743 08743


sen eingegeben werden

000 000 00 Bankleitzahl 54387000 543 870 00

Für Text und Datumsfeldern können Sie das Eingabeformat mit Hilfe eines
Assistenten, der für bestimmte Felder Beispiele bereithält, wählen. Hierzu
klicken Sie das 3-Punkte-Symbol neben der Zeile an.

Abbildung 11: Eingabeformat-Assistent

- 31 -
Tabellen

Beschriftung
Hier kann ein Text eingegeben werden, der als Spaltenüberschrift in der Da- Beschriftungen
tenblattansicht der Tabelle oder als Bezeichnungsfeld in Formularen und Be-
richten erscheint. Hierdurch ist eine flexiblere Änderung der Bezeichnungen
möglich, ohne dass die Feldnamen, die ja eventuell in Abfragen oder Pro-
grammen bereits verwendet werden, geändert werden müssen (damit sind z.B.
mehrsprachigen Anwendungen einfacher zu erstellen).

Standardwert
Für die Eingabe neuer Datensätze kann ein Standardwert vorgegeben werden, Standardwert
so dass keine Daten in dieses Feld eingetippt werden müssen. Der Vorgabe-
wert kann jedoch auch überschrieben werden.

Für Zahlen- und Währungsfelder wird automatisch der Standardwert 0 vorge-


geben, der aber auch gelöscht werden kann.

Über den Ausdruckseditor (3-Punkte-Symbol) können Sie hierbei auch nach


bestimmten Funktionen suchen.

Beispiel: Um in einem Datumsfeld nicht für jeden neuen Datensatz das


aktuelle Datum eingeben zu müssen, könnte hier die Funktion
"=datum()" als Vorgabewert dienen.

Gültigkeitsregel
Die Vermeidung von Fehleingaben kann außer durch die Datentypfestlegung
vor allem durch Gültigkeitsregeln erfolgen. Hiermit werden Bedingungen de-
finiert, durch die der Wertebereich für die Eingabe eingeschränkt wird.

Für den Aufbau der Regeln können Sie auch den Ausdruckseditor verwenden.

Beispiele:

• >=500 (bei Zahlenfeldern, z.B. Umsatz)

• "München" Oder "Frankfurt" (bei Ortsfeldern) (Textangaben in Anfüh-


rungsstrichen)

• in ("München";"Frankfurt";"Berlin") (in München oder Frankfurt oder


Berlin)

• Zwischen 100 Und 200 (bei Zahlenfeldern)

• >=100 Und <= 200 (gleiche Bedeutung wie oben)

• < #1.1.1999# (Datumsangaben werden von Rauten eingeschlossen)

- 32 -
Tabellen

Diese Gültigkeitsüberprüfungen auf Feldebene können nicht feldübergreifend Komplexe Gül-


definiert werden, d.h. andere Felder werden hier nicht berücksichtigt. Um sol- tigkeitsregeln
che Kontrollen einzubauen, können die Regeln auf Tabellenebene aufgestellt
werden. Hierzu gehen Sie folgendermaßen vor:

• In der Entwurfsansicht der Tabelle wählen Sie den Befehl Ansicht Eigen-
schaften oder das Eigenschaftensymbol.

• Geben Sie die Gültigkeitsregel und Gültigkeitsmeldung in den vorgesehen


Punkten ein.

Abbildung 12: Feldübergreifende Regeln auf Tabellenebene


Nach der vollständigen Eingabe eines Datensatzes überprüft Access die Gül-
tigkeitsregel und weist ungültige Eingaben ab.

Der bekanntere Weg führt über die Eigenschaften von Formularobjekten, die
mit Makros oder Programmen verknüpft werden.

Gültigkeitsmeldung
Anstelle der oft nicht verständlichen Systemfehlermeldungen können Sie über Fehlermel-
diesen Punkt dem Anwender genau mitteilen, warum seine Eingaben ungültig dung
sind. Die Gültigkeitsmeldung erscheint nur dann, wenn ungültige Eingaben
gemacht wurden.

Eingabe erforderlich
Hier bestimmen Sie, ob in dieses Feld Eingaben gemacht werden müssen
(Mussfeld) oder ob das Feld auch leer bleiben darf (Dateneingabe für Feld
erzwingen oder nicht.

Bei Text-, Memo- und Hyperlink-Feldern können Sie auch entscheiden, ob Leere Zeichen-
leere Zeichenfolgen, d.h. Zeichenfolgen der Länge null, erlaubt sind. Leere folge
Zeichenfolgen werden durch zwei aufeinander folgende Leerzeichen („“) er-
fasst und werden in Access von einem leeren Feld (Null) unterschieden, in das
keine Eingabe gemacht wurde. Diese Spitzfindigkeit sollten Sie meiner Mei-
nung nach zunächst außer Acht lassen und die Standardeinstellung „Nein“
nicht ändern.

Indiziert
Schlüsselvergabe (vor allem Sekundärschlüssel) (s.u.)

- 33 -
Tabellen

4.1.4 Nachschlagefelder
Mit Hilfe des Nachschlageassistenten können Sie Felder definieren, deren
Werte aus einer anderen Tabelle oder Abfrage oder aus einer zuvor erstellten
Werteliste nachgeschlagen werden können. Nachschlagefelder bieten folgende
Vorteile:

• Die Eingaben sind an bestimmte Listen gebunden, so dass Fehleingaben


vermieden werden.

• Die Daten der Nachschlageliste sind immer aktuell. Sobald Sie z.B. die
zugrundeliegende Tabelle verändert oder erweitert haben, werden diese
Neuerungen im Kombinationsfeld angezeigt.

• Die Definition dieser Felder auf Tabellenebene sorgt dafür, dass diese
Kombinationsfelder auch automatisch in neuen Abfragen und Formularen
erzeugt werden, die diesen Tabellen zugrunde legen.

Der Nachschlageassistent wird wie folgt verwendet:

• Gehen Sie in die Entwurfsansicht der Tabelle.

• Markieren Sie das Feld, dessen Werte nachgeschlagen werden sollen.

• Wählen Sie im Unterpunkt Felddatentyp den Eintrag Nachschlageassis-


tent. (eine etwas seltsame Unterbringung des Nachschlageassistenten, da er
kein Felddatentyp ist, sondern Eigenschaften des aktuellen Feldes ändert
und zumeist sogar eine Beziehung zu einer anderen Tabelle herstellt).

• Im ersten Dialog legen Sie die Herkunft der Liste fest. Hierbei halte ich die
erste Option (Tabelle oder Abfrage) für günstiger und flexibler als eine
fest einzugebende Werteliste. Diese Nachschlagetabelle muss zuvor er-
stellt worden sein.

Abbildung 13: Nachschlageassistent 1. Schritt


• Im nächsten Schritt wählen Sie die entsprechende Tabelle oder Abfrage
aus.

- 34 -
Tabellen

• Anschließend wählen Sie die Felder aus, die in der Nachschlageliste ange-
zeigt werden sollen.

• Der nächste Schritt erlaubt die Anpassung der Spaltenbreiten sowie die
Ausblendung der Schlüsselspalte.

Abbildung 14: Spaltenbreiten und Schlüsselspalte


• Im letzten Schritt geben Sie eine Beschriftung für das Datenfeld ein, die
später anstelle des Feldnamens in Formularen, Tabellen und Berichten
verwendet wird.

Falls Sie die Option Ich möchte selbst Werte in die Liste eingeben gewählt
haben, werden Sie im nachfolgenden Schritt aufgefordert, die Spaltenanzahl
und die Werteliste anzugeben.

Im Register Nachschlagen des Feldes können Sie ein Nachschlagefeld ohne Eigenschaften
Assistenten aufbauen, Sie können aber hier vor allem die Definitionen, die des Nach-
durch den Nachschlageassistenten erzeugt wurden, verändern und erweitern.
schlagefeldes

- 35 -
Tabellen

Abbildung 15: Register Nachschlagen


Nachschlageregister Funktion
Steuerelement anzeigen Das Nachschlagefeld wird standardmäßig als Kom-
binationsfeld angezeigt
Herkunftstyp Werte des Feldes stammen aus einer Tabelle oder
Abfrage
Datensatzherkunft Hinter diesem Eintrag verbirgt sich eine Abfrage
oder eine Tabelle, die als SQL-Statement dargestellt
wird. Durch Anklicken der drei Punkte gelangen Sie
in die zugrunde liegende Abfrage und können dort
Änderungen vornehmen.
Um z.B. die Liste sortiert angezeigt zu bekommen,
was häufig gefordert wird, wählen Sie unten in der
Sortierzeile aus, nach welchem Feld sortiert werden
soll (Näheres hierzu im Kapitel Abfragen).
Nach dem Verlassen der Abfrage werden Sie gefragt,
ob die Änderungen im SQL-Statement übernommen
werden sollen. Antworten Sie mit „Ja“.
Falls Sie sich mit SQL auskennen, können Sie auch
direkt den SQL-Text bearbeiten.
Beim Herkunftstyp Werteliste können Sie hier die
möglichen Werte durch ein Semikolon getrennt ein-
geben.
Gebundene Spalte Hier bestimmen Sie die Spalte der zugrundeliegen-
den Tabelle oder Abfrage, deren Werte im aktuellen
Feld übernommen werden sollen. Die entsprechen-
den Felder müssen im Datentyp übereinstimmen.
Spaltenanzahl Anzahl der Spalten aus der zugrundeliegenden Tabel-
le, die beim Aufschlagen angezeigt werden sollen.

- 36 -
Tabellen

Spaltenüberschriften Hier bestimmen Sie, ob die Spaltenüberschriften mit


angezeigt werden sollen.
Spaltenbreiten Die im Nachschlageassistenten festgelegten Spalten-
breiten werden hier angezeigt und können hier ver-
ändert werden.
Zeilenanzahl Hier legen Sie die Anzahl der Datensätze fest, die
beim Aufschlagen angezeigt werden. Bei längeren
Listen können Sie den Vorgabewert von 8 erhöhen,
damit Sie nicht zu viel in der Liste blättern müssen.
Denken Sie auch daran, dass Sie in einer sortierten
Liste durch Eingabe der Anfangsbuchstaben schnel-
ler den gewünschten Datensatz erreichen können.
Listenbreite Breite der Auswahlliste bei der Anzeige; ergibt sich
in der Regel aus der Addition der einzelnen Spalten-
breiten.
Nur Listeneinträge Hier sollten Sie meiner Meinung nach „Ja“ gewählt
lassen, damit keine anderen als die vorgegeben Lis-
tenwerte eingegeben werden können.

4.1.5 Schlüsselvergabe
Ein Schlüssel oder Index in einer Datenbank ist nichts anderes als eine separa- Indextabelle
te Tabelle, in der der Inhalt eines Datenfeldes sortiert abgelegt wird. Zusätz-
lich zum Inhalt enthält diese Indextabelle die Nummer des Datensatzes, damit
die Informationen der anderen Felder aus der Ursprungstabelle angezeigt wer-
den können. Da die Tabelle sehr schmal und sortiert ist, kann erheblich schnel-
ler nach dem Inhalt gesucht werden,

Stellen Sie sich eine Tabelle mit Namen und Telefonnummern vor. Falls Sie
nach einem bestimmten Namen in dieser unsortierten Tabelle suchen, müssten
Sie unter Umständen einen großen Teil der Daten von vorn bis hinten lesen,
bis der gewünschte Eintrag gefunden wird. Liegen die Daten jedoch sortiert
nach dem Namen vor, ist der Zugriff bedeutend schneller.

Datensatz-Nr Nachname Vorname Geburtsdatum ...


1 Meier Willi 11.11.76 ...
2 Schulze Hans 1.6.65 ...
3 Bauer Maria 13.5.69 ...
4 Aumann Johanna 12.8.81 ...
5 Meier Max 21.6.75 ...
... ... ... ... ...
Datentabelle mit allen Daten

- 37 -
Tabellen

Schlüsselfeld Nachname Datensatz-Nummer


Aumann 4
Bauer 3
Meier 1
Meier 5
Schulze 2
... ...
Indextabelle Nachname

Indextabellen beschleunigen den Datenzugriff immens, sie erfordern jedoch


mehr Plattenspeicher sowie einen höheren Verwaltungsaufwand. Beim Erfas-
sen oder Ändern der Daten muss zusätzlich die Indextabelle gepflegt werden,
der Name muss z.B. einsortiert werden.

Bei der Vergabe von Schlüsseln für eine Tabelle unterscheiden wir zwischen Primär- und
Primärschlüsseln und Sekundärschlüsseln. Während ein Primärschlüssel einen Sekun-
Datensatz identifiziert und deshalb eindeutig sein muss (ohne Duplikate), kann
därschlüssel
ein Sekundärschlüssel auch doppelte Einträge enthalten (z.B. Nachname). Um
Tabellen verknüpfen zu können, sollte für jede Tabelle ein Primärschlüssel
existieren. Falls sich kein Datenfeld als Primärschlüssel anbietet, ist es häufig
sinnvoll, ein weiteres Feld vom Typ Autowert in die Tabelle aufzunehmen,
welches als Primärschlüssel fungieren kann. Beispiele: Patienten-Nr, Laufende
Nr usw. Es können allerdings auch Kombinationsschlüssel, die sich aus meh-
reren Feldern zusammensetzen, definiert werden.

Primärschlüssel
Ein Primärschlüssel wird folgendermaßen definiert: Primärschlüs-
sel erstellen
• Markierung Sie das entsprechende Feldes im Entwurfsfenster (bei Kombi-
nationsschlüsseln markieren Sie mit Hilfe der <Strg>-Taste und den Zei-
lenmarkierern mehrere Felder).

• Klicken Sie das Schlüsselsymbol in der Symbolleiste an. (Das Symbol er-
scheint in der Spalte links neben dem Feldnamen).

Alternativ können Sie nach der Markierung des gewünschten Feldes den Be-
fehl Bearbeiten Primärschlüssel wählen.

In den Feldeigenschaften der Tabellendefinition wird anschließend im Punkt


Indiziert "Ja (Ohne Duplikate)" angezeigt.

Wurde für eine Tabelle kein Primärschlüssel definiert, erfolgt beim Verlassen
eine entsprechende Meldung und die Frage, ob ein Primärschlüssel vom Sys-
tem erstellt werden soll. Falls die Frage bejaht wird, wird automatisch das Feld
vom Typ Autowert als Primärschlüsselfeld gewählt, falls kein solches exi-
stiert, wird ein zusätzliches Feld mit dem Namen "ID" erstellt.

- 38 -
Tabellen

Zur Änderung des Primärschlüsselfeldes wählen Sie das neue Feld an und kli- Primärschlüs-
cken auf das Schlüsselsymbol. sel ändern
Das Löschen des Primärschlüssels geschieht durch erneutes Anklicken des Primärschlüs-
Schlüsselsymbols in der Symbolleiste oder über den Befehl Bearbeiten Pri- sel löschen
märschlüssel. Über das Dialogfeld Indizes, welches ich anschließend anspre-
chen werde, können Sie ebenfalls Primärschlüssel entfernen.

Anmerkungen hierzu:

1. Beziehungen zwischen Tabellen werden mit Hilfe des Primärschlüssel der


Mastertabelle erzeugt. Falls solche Beziehungen bereits existieren, müssen
diese zunächst gelöscht werden, bevor Primärschlüssel entfernt werden
können.

2. In einer Datenbank sollten Primärschlüssel eigentlich nie geändert werden,


vor allem dann, wenn bereits Daten und Verknüpfungen zwischen den Da-
ten bestehen. Deshalb sollten Primärschlüssel erst nach gründlicher Überle-
gung definiert werden.

3. Da ein Primärschlüssel eindeutig sein muss, kann es Ihnen leicht passieren,


dass die Definition scheitert, da der bereits existierende Datenbestand die
Eindeutigkeitsregel verletzt.

4. Vermeiden Sie zusammengesetzte Felder als Primärschlüssel. Wählen Sie


stattdessen ein unabhängiges Nummernfeld (Autowert) als Primärschlüssel.
Kombinationsschlüssel können als eindeutige Sekundärschlüssel definiert
werden.

Sekundärschlüssel
Sekundärschlüssel werden im Rahmen der Feldeigenschaften im Punkt "Indi- Suchschlüssel
ziert" festgelegt. Hierbei können Sie entscheiden, ob die Einträge eindeutig
(ohne Duplikate) oder ob Mehrfacheinträge erlaubt sein sollen. Felder, die als
Fremdschlüssel dienen oder häufiger zum Suchen oder Sortieren benötigt wer-
den, sollten hier indiziert werden.

Zur Vermeidung von Doppelerfassungen eignen sich vor allem zusammenge-


setzte Schlüssel. Hierzu wählen Sie den Befehl Ansicht Indizes oder das ent-
sprechende Symbol.

- 39 -
Tabellen

Abbildung 16: Schlüsseldefinition


In diesem Fenster werden alle definierten Primär- und Sekundärschlüssel an-
gezeigt. Im oberen Teil des Fensters werden die Spalten Indexname, Feldname
und Sortierreihenfolge aufgeführt, wobei bei zusammengesetzten Schlüsseln
nur für das erste Datenfeld der Indexname eingegeben wird. Im unteren Teil
des Fensters werden die Schlüsseleigenschaften des oben gewählten Feldes
bearbeitet.

In der Abbildung habe ich einen eindeutigen zusammengesetzten Schlüssel Kombinations-


NameVorname definiert. Beachten Sie, dass bei umfangreichen Datenbestän- schlüssel
den auch Personen mit gleichem Namen und Vornamen vorkommen können.
In diesem Fall könnte z.B. zusätzlich das Geburtsdatum einbezogen werden.

Grundsätzlich ist der Einsatz von Schlüsseln immer dann sinnvoll, wenn die
Suche nach bestimmten Begriffen beschleunigt werden soll. Auch für die Ver-
knüpfung von Tabellen sind Schlüssel sehr vorteilhaft. Allerdings sollten nicht
zu viele Schlüssel definiert werden, da diese das System belasten.

Das Dialogfenster schließen Sie durch erneutes Anklicken des Index-Symbols


oder über den Befehl Ansicht Indizes.

4.1.6 Nachträgliche Änderung der Tabellenstruktur


Die Tabellenstruktur kann auch später noch geändert werden. Vorsicht ist al-
lerdings dann geboten, wenn bereits Daten in die Tabelle eingegeben wurden
oder wenn die Tabelle mit anderen verknüpft wurde. Im Einzelnen sieht das
folgendermaßen aus:

Feldnamen ändern: Ohne Probleme möglich, falls noch keine


weiteren Objekte oder Verknüpfungen er-
stellt wurden. Denken Sie jedoch daran,
dass bereits existierende Abfragen, For-
mulare, Berichte oder Programme ange-
passt werden müssen. Über die Feldei-
genschaft Beschriftung in der Tabellende-
finition können Sie ohne größeren Scha-
den Änderungen vornehmen.

- 40 -
Tabellen

Feldtyp ändern: Das Programm versucht, die vorhandenen


Daten in den neuen Feldtyp zu konvertie-
ren; falls dies nicht möglich ist, wird eine
Meldung ausgegeben und der Feldinhalt
gelöscht.

Feld einfügen, Feld löschen: Im Entwurfsfenster markieren Sie die


Feldzeile durch Anklicken des Zeilenkop-
fes links neben der Spalte Feldnamen,
zum Einfügen einer Zeile wählen Sie das
Symbol Zeile einfügen oder betätigen die
Taste <Einfg> oder Sie wählen den Be-
fehl Bearbeiten Zeile einfügen, zum Lö-
schen klicken Sie das Symbol Zeile lö-
schen an oder Sie drücken die Taste
<Entf> oder Sie wählen den Befehl Bear-
beiten Zeile löschen wählen.

Feldreihenfolge ändern: Hierzu markieren Sie die gewünschte "Ziehen-und-


Zeile und ziehen mit der Maus die Mar- Ablegen"
kierung auf die Zeile, vor die das Feld
verschoben werden soll. Damit die Mar-
kierung nicht aufgehoben wird, müssen
Sie sie im Zeilenkopf links von der Spalte
Feldname anklicken und ziehen. Alterna-
tiv können Sie auch mit der Zwischenab-
lage und den bekannten Symbolen und
Befehlen Bearbeiten Kopieren (<Strg> +
C) und Bearbeiten Einfügen (<Strg>+V)
arbeiten.

4.2 Bearbeitung von Daten (Datenblattansicht)


Die Dateneingabe und Veränderung von Daten ist grundsätzlich in der Daten-
blattansicht einer Tabelle möglich. Diese Ansicht wird automatisch gewählt,
wenn Sie im Datenbankfenster die Tabelle doppelt anklicken oder einmal an-
klicken und die Schaltfläche Öffnen wählen. Aus der Entwurfsansicht einer
Tabelle können Sie auch direkt das Symbol für die Datenblattansicht verwen-
den. Allerdings sind Komfort und Möglichkeiten nicht so weitgehend wie im
Rahmen eines Formulars. Der natürliche Weg wäre also, die Daten im Formu-
lar einzugeben und zu verändern. Da der Datenblattmodus jedoch auch in Ab-
fragen und Formularen verwendet wird, möchte ich hier die Arbeitsweise er-
läutern.

In der Datenblattansicht sind die Daten tabellarisch angeordnet, die Datensätze


erscheinen untereinander in Zeilen, die Datenfelder nebeneinander in Spalten.
Die Feldbezeichnungen erscheinen über den Spalten in den Spaltenköpfen.
Am linken Rand des Fensters befindet sich wie im Entwurfsmodus eine spe-
zielle Spalte, die Zeilenköpfe, die zum Markieren von Zeilen dient und weitere
Einrichtungen enthält.

- 41 -
Tabellen

Der aktuelle Datensatz wird durch ein Dreieck im Zeilenkopf gekennzeichnet. Aktueller Da-
Die Nummer des Datensatzes erscheint am unteren Bildrand. Ein neuer leerer tensatz
Datensatz wird durch einen Stern im Zeilenkopf angedeutet.

Zur Eingabe eines neuen Datensatzes wählen Sie am einfachsten das entspre-
chende Symbol in der Symbolleiste oder in der Navigationsleiste oder gehen
nach dem letzten Datensatz einen Satz weiter. Auch die Tastenkombination
<Strg>+<+> ist möglich.

Abbildung 17: Datenblatt einer Tabelle mit Unterdatenblatt


Über den Befehl Datensätze können verschiedene Einstellungen gemacht wer-
den. Mit dem Befehl Datensätze Daten eingeben wird nur der neue leere Da-
tensatz angezeigt, alle anderen werden ausgeblendet. Zur Anzeige aller Daten-
sätze wählen Sie Datensätze Filter/Sortierung entfernen.

Für Tabellen, die die 1-Seite einer 1:N-Beziehung bilden, erscheint in der Da- Unterdaten-
tenblattansicht am linken Rand ein Plus-Symbol, über welches das Unterda- blatt
tenblatt mit den zugehörigen Daten eingeblendet werden kann. Über das Mi-
nus-Symbol kann das Unterdatenblatt wieder ausgeblendet werden.

Bewegungen im Datenblatt

Zur Dateneingabe im Arbeitsblatt steuern Sie das nächste Feld am einfachsten


mit der <Tab>- oder der <Return>-Taste an. Sie können aber auch die Pfeiltas-
ten oder auch die Maus benutzen. In gewohnter Manier funktionieren die Ta-
sten <Pos1> (Zeilenanfang) und <Ende> (Zeilenende) sowie die Kombination
mit der Verstärker-Taste <Strg>. <Strg>+<Pos1> bewegt den Cursor an den
Anfang, <Strg>+<Ende> ans Ende der Tabelle. Mit
<Shift>(Umschalt)+<Tab> können Sie ein Feld zurückspringen.

Zur Änderung eines Feldinhalts steuern Sie das gewünschte Feld an, evtl. mar- Feldinhalte
kieren Sie den Feldinhalt mit <F2> und tragen die Änderungen ein. Der mar- verändern
kierte Inhalt wird hierbei überschrieben.

Sie werden bemerken, dass Autowert-Felder nicht bearbeitet werden können,


da die Nummern von Access eingefügt und verwaltet werden.

- 42 -
Tabellen

Während der Bearbeitung eines Feldes beziehen sich die Cursorsteuerungstas-


ten auf das aktive Feld. Die Taste <Pos1> führt jetzt nicht an den Zeilenan-
fang, sondern an den Anfang des Feldes.

Zur Übernahme des Feldwertes des vorangehenden Satzes wählen Sie die Ta- Feldwerte ü-
stenkombination <Strg>+' (Apostroph), um den Vorgabewert zu setzen die bernehmen
Kombination <Strg>+<Alt>+"Leerzeichen".

Für die Maus befinden sich Navigationssymbole (Dreiecke) unterhalb der Ta- Cursorsteue-
belle. Durch Anklicken der Dreiecke wandern sie satzweise, Anklicken der rung
Dreiecke mit dem senkrechten Strich sorgt für einen Sprung zum ersten bzw.
letzten Datensatz. Zudem können Sie gezielt einzelne Datensätze ansteuern,
indem Sie am unteren Bildrand im Feld Datensatznummer anklicken und dort
die Nummer des gewünschten Datensatzes eingeben. Alternativ geben Sie die
Funktionstaste <F5> und die gewünschte Nummer ein.

Abbildung 18: Navigationssymbole


Um Datensätze zu löschen, markieren Sie diese in den Zeilenköpfen und betä-
tigen die <Entf>-Taste.

Die Speicherung der Datensätze erfolgt automatisch beim Satzwechsel oder Automatische
beim Schließen der Datei. Speicherung
Falls die Eingabe nicht gespeichert werden soll, können Sie mit der <Esc>- Abbruch:
Taste abbrechen. Beim ersten Drücken wird die Einabe im aktuellen Feld stor- <Esc>-Taste
niert, beim zweiten Betätigen der gesamte Datensatz.

Neben dem direkten Ansteuern bestimmter Datensätze in einer Tabelle können


Sie auch gezielt nach Feldinhalten suchen und sogar Feldinhalte durch andere
ersetzten. Das Suchen läuft über das Suchen-Symbol oder über den Befehl
Bearbeiten Suchen. Im Dialogfenster können Sie zwischen verschiedenen Op-
tionen wählen, z.B. ob eine einzelnes Feld oder alle Datenfelder durchsucht
werden, ob der gesamte Feldinhalt oder nur ein Teil des Feldinhaltes berück-
sichtigt werden soll, daneben kann die Suchrichtung und die Groß-
/Kleinschreibung gewählt werden.

Suchen

Abbildung 19: Der Befehl "Suchen"

- 43 -
Tabellen

Zum Ersetzen wählen Sie den Befehl Bearbeiten Ersetzen und füllen im Dia- Ersetzen
logfenster die gewünschten Optionen aus.

Abbildung 20: Der Befehl "Ersetzen"


Zusätzlich können die Daten nach bestimmten Feldern sortiert werden. Dazu
aktivieren Sie die gewünschte Spalte und wählen eines der Symbole für Auf-
steigend oder Absteigend sortieren.

Neu ist die Möglichkeit, auch im Tabellenfenster Daten zu filtern. Über das
Symbol Auswahlbasierter Filter können Sie die Tabelle nach dem ausgewäh-
len Feld filtern, mit dem Symbol Formularbasierter Filter können Filterkrite-
rien definiert werden, und das Symbol Filter/Sortierung anwenden bzw. Filter
entfernen aktiviert bzw. deaktiviert den Filter. Näheres hierzu finden Sie im
Zusammenhang mit Formularen.

4.2.1 Tabellenlayout
Obwohl die Datenerfassung und -bearbeitung in einem Formular günstiger ab-
läuft, kann auch das Aussehen des Datenblatts beeinflusst werden. Sie können
Spaltenbreite und Zeilenhöhe und Schriftart verändern, des Weiteren können
Spalten fixiert oder ausgeblendet oder auch verschoben werden. Das Layout
der Tabelle kann unabhängig von den Daten mit dem Befehl Datei Tabelle
speichern gespeichert werden. Im Einzelnen:

Spaltenbreite verändern: Mit der Maus gehen Sie im Spaltenkopf auf die
Trennlinie zwischen zwei Feldnamen und ziehen
diese nach links oder rechts. Mit der Tastatur wäh-
len Sie den Befehl Format Spaltenbreite. Wenn
vorher (über die Spaltenbezeichnungen) mehrere
Spalten markiert wurden, können diese gemein-
sam bearbeitet werden.
Zeilenhöhe verändern: Über Zeilenkopf durch Ziehen der Trennlinie oder
über den Befehl Format Zeilenhöhe; dies wirkt
sich global auf alle Zeilen aus.
Spalten verschieben: Markieren Sie die gewünschten Spalten, durch
Ziehen der Markierung im Spaltenkopf können die
Spalten an eine neue Position gezogen werden.

- 44 -
Tabellen

Tabellenfor-
matierung

Abbildung 21:Tabellenblattformatierung
Darüber hinaus bietet der Format-Befehl weitere Einstellungen im Hinblick
auf die Tabellendarstellung.

Der Befehl Format Zeichen ermöglicht die Änderung der Schriftart, Schrift-
größe und weiteren Zeichenformaten.

Mit dem Befehl Format Zellen kann der Zellhintergrund eingefärbt werden
sowie die Begrenzungslinien bearbeitet werden.

Weiterhin können Spalten aus- oder auch wieder eingeblendet werden, und Sie
können bei breiten Tabellen bestimmte Spalten fixieren, so dass diese immer
angezeigt werden.

Beim Verlassen der Tabelle werden Sie gefragt, ob das Layout der Tabelle,
d.h. das Aussehen der Tabelle gespeichert werden soll, so dass die Tabelle
beim nächsten Öffnen wiederum in der Form angezeigt wird. Die Speicherung
der Tabellendaten hat hiermit nichts zu tun, sie wird vom System übernommen
(automatisch beim Wechseln des Datensatzes).

- 45 -
Tabellen verknüpfen

5 Tabellen verknüpfen
In einem relationalen Datenbanksystem wie Access werden die Daten nach
Möglichkeit auf mehrere Tabellen aufgeteilt, um Redundanzen zu vermeiden
und um Daten wunschgemäß zusammenstellen zu können. Die logischen Ver-
bindungen zwischen den Tabellen können zum einen zwischen den Tabellen
direkt aufgebaut werden, sie können jedoch auch im Rahmen einer Abfrage
erstellt werden. Mir erscheint der erste Weg, den ich anschließend in diesem
Kapitel beschreibe, günstiger, da Abfragen, die auf mehreren bereits verknüpf-
ten Tabellen basieren, automatisch diese Verknüpfung übernehmen. Auch
Unterformulare und Unterberichte greifen die vorhandenen Verknüpfungen
auf.

Als entscheidenden Grund sehe ich jedoch an, dass bei der direkten Verknüp- Referentielle
fung die Regeln der referentiellen Integrität aktiviert werden können. Dies Integrität
bedeutet am Beispiel einer Kunden- und Auftragstabelle, dass kein Kunde in
der Kundentabelle gelöscht werden kann, wenn dieser noch einen Auftrag
offen stehen hat. Entsprechend könnte in der Auftragstabelle kein Auftrag mit
einer Kundennummer erfasst werden, für die kein entsprechender Eintrag in
der Kundentabelle existiert.

Tabellenverknüpfungen werden auch automatisch durch den Nachschlage-


assistenten erzeugt, allerdings wird hierbei auf die referentielle Integrität ver-
zichtet. Insofern sollten auch diese Beziehungen nachbearbeitet werden.

Wenn zwei Tabellen verknüpft werden, muss immer eine Tabelle als Masterta- Mastertabelle-
belle und die andere als Detailtabelle definiert werden. Weiterhin müssen bei- Detailtabelle
de Tabellen ein Verknüpfungsfeld gemeinsam haben, welches den gleichen
Typ hat. Mastertabelle ist dann immer die Tabelle, welche das Verknüpfungs-
feld als Primärschlüssel enthält. In einer 1:N-Beziehung wäre dies also immer
die Tabelle, auf die sich die "1" bezieht, während sich die Detailtabelle immer
auf das "N" bezieht. In einer Kunden-Auftrags-Beziehung wäre also die Kun-
dentabelle die Mastertabelle und die Auftragstabelle die Detailtabelle, da ei-
nem Kunden mehrere Aufträge zugeordnet werden können. Entsprechend wä-
re die Kundennummer in der Kundentabelle der Primärschlüssel, in der Auf-
tragstabelle könnte z.B. die Auftragsnummer als Primärschlüssel fungieren,
während hier das Feld Kundennummer als Fremdschlüssel mit Duplikaten
definiert werden könnte.

In einer Verknüpfung sind in der Regel nur die Datensätze beider Tabellen
enthalten, bei denen im Verknüpfungsfeld die gleichen Werte stehen.

Deshalb sollte das Verknüpfungsfeld in beiden Tabellen den gleichen Daten-


typ enthalten. Einzige Ausnahme ist der Typ Autowert einer Mastertabelle, der
auf der "N"-Seite als Long-Integer-Typ definiert werden muss.

Die häufigste Art der Verknüpfung ist die 1:N-Beziehung. Daneben gibt es
auch 1:1-Verknüpfungen, die jedoch ab der Version Access95 nicht mehr
wählbar ist. Hierbei sollte man sich überlegen, ob die zwei Tabellen nicht in

- 46 -
Tabellen verknüpfen

eine überführt werden können. Gründe für eine 1:1-Verknüpfung wäre eine
Gehaltstabelle, die aus Datenschutzgründen ausgelagert werden muss oder
bestimmte Felder, die nur sehr selten benötigt werden.

Bei komplexeren Sachverhalten mit mehreren Tabellen halte ich es für sinn-
voll, sich die Beziehungen zwischen den Tabellen vorher gründlich klarzuma-
chen und auf einem Blatt Papier zu skizzieren. Der Mehraufwand zahlt sich
später in der praktischen Arbeit mehrfach aus, da nach meiner Erfahrung viele
Probleme beim Umgang mit Abfragen und Formularen auf Fehlern bei der
Verknüpfung beruhen.

Praktisches Vorgehen:

1. Zur Verknüpfung von Tabellen schließen Sie zunächst die entsprechenden


Tabellen und wechseln ins Datenbankfenster.

1. Wählen Sie den Befehl Extras Beziehungen oder das entsprechende Sym-
bol.

2. Wählen Sie im nächsten Dialogfenster die Tabellen aus, für die Verknüp-
fungen definiert werden sollen.

Abbildung 22: Tabellen für Verknüpfungen hinzufügen


Falls vorher Verknüpfungen existierten, können über den Befehl Beziehun-
gen Tabelle anzeigen oder über das entsprechende Symbol weitere Tabellen
hinzugefügt werden.

4. Wählen Sie im Beziehungsfenster das Primärschlüsselfeld oder ein eindeu-


tiges Feld aus und ziehen Sie es mit der Maus auf das passende Feld der
Detailtabelle.

- 47 -
Tabellen verknüpfen

Abbildung 23: Verknüpfungen herstellen


5. Im nächsten Schritt wird die Beziehung zwischen den zwei Tabellen de-
taillierter definiert.

Abbildung 24: Beziehungen definieren


• Bestimmen Sie, ob die referentielle Integrität berücksichtigt werden
soll oder nicht. Hierfür muss das Feld der Mastertabelle entweder
als Primärschlüssel oder zumindest als Index ohne Duplikate defi-
niert werden. Versuchen Sie möglichst, die referentielle Integrität
einzuschalten, damit Ihr Datenbestand konsistent bleibt. Falls ja,
können Sie dafür sorgen, dass Aktualisierungen und Löschungen in
der Mastertabelle automatisch kaskadenartig auf die entsprechen-
den Datensätze der Detailtabelle übergreifen. Im anderen Fall müs-
sen zunächst die Detaildatensätze gelöscht werden, bevor Sätze in
der Mastertabelle gelöscht oder im Hauptindex geändert werden
können. Die Gefahr bei Einschaltung der Weitergabe besteht in der
unbeabsichtigten Löschung von Datensätzen in der Detailtabelle.

- 48 -
Tabellen verknüpfen

• Wählen Sie die Schaltfläche Erstellen.

• Anschließend können auf die gleiche Art weitere Beziehungen zwi-


schen den Tabellen hergestellt werden.

Über die Schaltfläche Verknüpfungstyp können Inklusionsverknüpfungen an-


stelle der standardmäßigen Gleichheitsverknüpfungen definiert werden (s.
Abfragen unten).
Die Beziehungen werden im Beziehungsfenster anschließend grafisch darge-
stellt, wobei die „1“ auf Seiten der Mastertabelle und das „Unendlichzeichen“
(∞) auf Seiten der Detailtabelle die 1:N-Beziehung anzeigen.
Durch Doppelklick auf die Verbindungslinie können Sie Beziehungen auch
später noch bearbeiten.
Zum Löschen der Beziehung markieren Sie die Verbindungslinie und drücken
die <Entf>-Taste. Das Entfernen des Tabellenobjekts aus dem Beziehungs-
fensters löscht nicht die Beziehungen.

Abbildung 25: Grafische Darstellung der Beziehungen


Da im Beziehungsfenster nicht automatisch alle Beziehungen angezeigt, wer-
den, können Sie über das Symbol Alle Beziehungen anzeigen alle in der Da-
tenbank definierten Beziehungen anzeigen lassen.

Zur Anzeige der Beziehungen einer zuvor ausgewählten Tabelle wählen sie
das Symbol Direkte Beziehungen anzeigen.

- 49 -
Abfragen

6 Abfragen
Nachdem Sie die Daten Ihres Projekts nach allen Regeln des Datenbankent- Funktion von
wurfs auf mehrere Tabellen verteilt haben, werden Sie sich natürlich fragen, Abfragen
wie man diese verstreut liegenden Daten in Formularen, Berichten oder Aus-
wertungen zusammenstellt. Diese Auswahl von Daten unterschiedlicher Ta-
bellen ist eine wesentliche Aufgabe von Abfragen. Im einzelnen können mit
Abfragen folgende Ziele erreicht werden:

1. Auswahl von Daten mehrerer zugrundeliegender Tabellen oder Abfragen


für Formulare, Berichte oder spezielle Auswertungen

2. Sortierung der Daten

3. Filtern von Datenbeständen

4. Berechnungen und Gruppierungen von Datensätzen

5. Aktualisierung von Datenbeständen

6. Löschen bestimmter Datensätze

7. Anfügen neuer Datensätze an bereits vorhandene Tabellen

8. Erstellung neuer Tabellen aus bereits vorhandenen

9. Auswertung von Datensätzen mit Kreuztabellen.

Innerhalb einer Datenbank werden nicht die Ergebnisdaten einer Abfrage ge- Abfrage als
speichert, sondern der Abfrageentwurf. Das Ergebnis einer Abfrage wird im "Dynaset"
Rahmen von Access als "Dynaset" bezeichnet, welches eine dynamische Ver-
bindung mit den Ursprungsdaten bezeichnen soll. Es handelt sich hierbei also
um keine selbständige Tabelle, sondern um eine Sicht (View) auf einen spe-
ziellen Ausschnitt einer oder mehrerer Tabellen. Diese Arbeitsweise bietet
folgende Vorteile:

• Änderungen der zugrundeliegenden Tabellendaten werden sofort im Dyna- Daten immer


set übernommen. aktuell

• Eine Abfrage erfordert nur geringen Speicherplatz.

• Wegen ihrer Flexibilität und dynamischen Struktur werden Abfragen häu-


fig als Basis für Formulare oder Berichte herangezogen.

Nachteil dieses Konzepts ist die Notwendigkeit, beim Ausführen einer Ab-
frage die Daten jeweils immer wieder neu zusammenzustellen, was bei um-
fangreichen Datenbeständen zeitaufwendig sein kann. Zur Not können um-
fangreiche Daten einer Abfrage auch in einer neuen Tabelle abgespeichert
werden (Tabellenerstellungsabfrage). Den Vorteil der schnelleren Anzeige

- 50 -
Abfragen

erkaufen Sie jedoch mit dem Verlust der Aktualität und dem großen Platten-
speicherbedarf.

Grundlage einer Abfrage sind eine oder mehrere Tabellen oder auch eine an- Verknüpfun-
dere Abfrage. Vorhandene Verknüpfungen zwischen den Tabellen werden au- gen
tomatisch übernommen, es können jedoch auch Verknüpfungen innerhalb ei-
ner Abfrage erzeugt werden.

Die angezeigten Daten im Dynaset dienen in erster Linie dazu, bestimmte Da- Veränderung
ten anzuzeigen und auszuwerten, sie sind eigentlich nicht für die Bearbeitung von Daten ei-
vorgesehen. Falls trotzdem Änderungen von Daten eines Dynasets vorgenom-
nes Dynasets
men werden sollen, muss folgendes beachtet werden:

• Basiert eine Abfrage auf einer Tabelle oder auf mehreren mit einer 1:1-
Beziehung, können die Daten problemlos verändert werden.

• Bei einer 1:N-Beziehung können die Felder der N-Seite bearbeitet werden.
Falls die Aktualisierungsweitergabe zwischen den Tabellen eingestellt ist,
können auch Daten der 1-Seite geändert werden.

• Berechnete Felder sowie Kreuztabellenabfragen und Funktionsabfragen


(Summe, Anzahl) können nicht im Tabellenblatt verändert werden.

Wir unterscheiden folgende Abfragetypen: Abfragearten


Abfragetyp Einsatzgebiet

Auswahlabfragen Ermittlung von Datensätzen, die sortiert


oder gefiltert werden können. Auch Zu-
sammenfassungen wie Zwischensummen
sind möglich. Die Daten der zugrundelie-
genden Tabellen bleiben unverändert.

Tabellenerstellungsabfragen Die Ergebnisse von Auswahlabfragen wer-


den hier zusätzlich in Form neuer Tabellen
gespeichert.

Anfügeabfragen Sie fügen die Ergebnisse an bereits beste-


hende Tabellen an.

Aktualisierungsabfragen Sie ändern die Daten in bereits bestehenden


Tabellen.

Löschabfragen Sie löschen Datensätze in Tabellen.

Kreuztabellenabfragen Mit ihnen können Auswertungen in Form


von Kreuztabellen vorgenommen werden.

- 51 -
Abfragen

Während Auswahl- und Kreuztabellenabfragen den Datenbestand unverändert Auswahl


lassen und deshalb gefahrlos ausprobiert werden können, seien Sie bei den abfragen
anderen Abfragetypen sehr vorsichtig und gewissenhaft, da Sie unter Umstän-
Aktionsabfra-
den den Datenbestand unwiderruflich zerstören können. Diese Abfragen wer-
den in Access Aktionsabfragen genannt. gen

Viele Access-Anwender kennen die vielfältigen Möglichkeiten von Abfragen


zu wenig und versuchen, anspruchsvollere Datenauswertungen mittels Pro-
grammierung (VBA) zu bewältigen. Meiner Meinung nach können Sie auf
diesen aufwendigen Weg zumeist verzichten, wenn Sie das Handwerkszeug
Abfragen flexibel handhaben. So können z.B. durch Verschachtelungen von
Abfragen (Abfragen, die auf Abfragen basieren) schwierige Datenauswertun-
gen gemacht werden.

Allerdings stoßen Sie auch bei Abfragen sehr schnell an die Grenzen des Grundlage für
Machbaren, wenn die zugrundeliegende Datenbasis (Tabellen und ihre Ver- Abfragen: gu-
knüpfungen) schlecht konzipiert wurde.
tes Daten-
bankdesign

6.1 Erstellen einer Abfrage


Zum Aufbau einer Abfrage wählen Sie im Datenbankfenster das Register Ab-
frage und anschließend die Schaltfläche Neu. Sie können auch in der Sym-
bolleiste auf das Symbol Neue Abfrage klicken. Danach erscheint ein Dialog-
fenster, in dem Sie auswählen, wie die Abfrage erstellt werden soll.

Abbildung 26: Neue Abfrage erstellen


Auswahlabfragen können manuell in der Entwurfsansicht oder mit Hilfe eines
Assistenten erstellt werden. Die Entwurfsansicht ist meiner Meinung nach die
flexiblere Möglichkeit, wie überhaupt auch die anderen Abfrage-Assistenten
nur eine untergeordnete Bedeutung haben und nur für selten benötigte Anfor-
derungen ausgewählt werden.

- 52 -
Abfragen

Anschließend wählen Sie die Tabellen oder auch bereits vorhandene andere Tabellen aus-
Abfragen aus, die in der neuen Abfrage berücksichtigt werden sollen. Durch wählen
die Schaltfläche Hinzufügen werden nacheinander die Tabellen oder Abfragen
eingebunden, mit Schließen beenden Sie die Auswahl der Tabellen. Über die
Register können Sie zudem wählen, ob Tabellen, Abfragen oder beide ange-
zeigt werden sollen. Mit Hilfe der <Strg>-Taste können mehrere Objekte
gleichzeitig ausgewählt werden.

Abbildung 27: Tabellen oder Abfragen für eine Abfrage auswählen


Zum Bearbeiten von bereits vorhandenen Abfragen wählen Sie im Datenbank-
fenster den Modul "Abfragen", klicken die gewünschte Abfrage an und wäh-
len die Schaltfläche "Öffnen" bzw. "Entwurf".

Auch später können Tabellen einer existierenden Abfrage hinzugefügt werden.


Hierzu wählen Sie den Befehl Abfrage Tabelle anzeigen oder klicken das ent-
sprechende Symbol an oder ziehen die gewünschte Tabelle oder Abfrage aus
dem Datenbankfenster in die Abfrage.

Existierende Verknüpfungen zwischen den Tabellen werden im Entwurf über-


nommen, es können jedoch auch im oberen Teil des Abfragefensters Tabellen
verknüpft werden.

- 53 -
Abfragen

Abbildung 28: Abfragefenster

Das Abfragefenster ist zweigeteilt. Im oberen Bereich werden alle Tabellen


und die zugehörigen Verknüpfungen angezeigt, während im unteren Teil, dem
QBE-Entwurfsbereich (QBE = Query By Example = Abfrage durch Beispiel),
das Aussehen des Abfrageergebnisses festgelegt wird. Hier bestimmen Sie vor
allem, welche Felder der zugrundeliegenden Tabellen angezeigt werden. Zu-
sätzlich legen Sie Sortier- und Auswahlkriterien fest.

6.2 Verknüpfungen in einer Abfrage


Vorhandene Verknüpfungen zwischen Tabellen werden im oberen Teil des Tabellen müs-
Abfragefensters durch Linien zwischen den Feldern angezeigt. Liegt keine sen verknüpft
Verknüpfung zwischen den Tabellen vor, kann eine Verknüpfung auch inner-
sein
halb der Abfrage erstellt werden. Falls die zugrunde liegenden Tabellen noch
nicht verknüpft sind, sollten Sie dies auf jeden Fall über die entsprechenden
Felder vornehmen. Eine Abfrage mit zwei nicht verknüpften Tabellen liefert
das Kreuzprodukt der Tabellen, d.h. jeder Datensatz der einen Tabelle wird
mit jedem Satz der anderen Tabelle verknüpft. Dies würde zu einer ausufern-
den Anzahl von Datensätzen führen und ist in den seltensten Fällen erwünscht.
Besteht die eine Tabelle z.B. aus 1000 Datensätzen und die andere aus 500, so
werden in der Abfrage insgesamt 500.000 Datensätze angezeigt.

Um eine Verknüpfung der Tabellen selbst vorzunehmen, ziehen Sie mit der Gleichheits-
Maus eine Linie vom Referenzfeld der Mastertabelle zum Referenzfeld der verknüpfung
Detailtabelle. Damit wird eine Gleichheitsverknüpfung (Equal Join) zwischen
den Tabellen gewählt. Dies bedeutet, dass immer die Datensätze beider Tabel-
len angezeigt werden, bei denen die Einträge in den Referenzfeldern identisch
sind.

Wenn Sie z.B. eine Patiententabelle mit der Diagnosetabelle verknüpfen, wer-
den nur die Daten solcher Patienten angezeigt, die auch Diagnosen aufweisen,
d.h. Patienten ohne Diagnosen werden in der Abfrage nicht angezeigt.

- 54 -
Abfragen

Neben der Gleichheitsverknüpfung können Sie auch eine Inklusionsverknüp- Inklusions-


fung (Outer Join) wählen. Generell suchen Sie sich eine Verküpfungsart aus, verknüpfung
indem Sie auf der Verbindungslinie zwischen den Tabellen doppelt anklicken
(Alternative: Linie einfach anklicken und rechte Maustaste oder Befehl An-
sicht Verknüpfungseigenschaften ausführen). Jetzt können Sie entscheiden, ob
alle Datensätze der ersten Tabelle und die der zweiten Tabelle, deren Refe-
renzfelder übereinstimmen, angezeigt werden sollen oder alle der zweiten
Tabelle mit den dazugehörigen der ersten Tabelle.

Die Verknüpfungen sollten meiner Meinung vor dem Erstellen der Abfrage
auf Tabellenebene bereits existieren. Für bestimmte Auswertungen müssen Sie
dann lediglich die Verknüpfungsart ändern (Gleichheitsverknüpfung Æ Inklu-
sionsverknüpfung).
6.3 Auswahl der Felder
In den unteren Teils des Abfragefensters werden die Datenfelder, die im Ab- Übernahme
frageergebnis dargestellt werden sollen, übertragen. Zur Auswahl der Felder einzelner Fel-
stellt Access eine ganze Palette von Möglichkeiten zur Verfügung:
der
a) Doppelklicken Sie auf den Feldnamen im oberen Bereich des Abfragefens-
ters.

b) Ziehen Sie mit der Maus das gewünschte Feld aus dem oberen in den unte-
ren Bereich. Hierbei können Sie das Feld auch zwischen zwei bereits exis-
tierende Felder positionieren.

c) Wählen Sie im unteren Bereich in der Zeile Feld über den Listenpfeil das
gewünschte Feld aus.

Um mehrere Felder gleichzeitig zu übernehmen, müssen Sie diese vorher mar- Markierung
kieren. Für einen zusammenhängenden Bereich verwenden Sie während des mehrerer Fel-
Anklickens die <Shift>-Taste, für mehrere nicht zusammenhängende Felder
der
halten Sie während des Anklickens zusätzlich die <Strg>-Taste gedrückt. Um
alle Felder einer Tabelle zu markieren, klicken Sie doppelt auf der Titelzeile
der betreffenden Tabelle an.

- 55 -
Abfragen

Abbildung 29: Abfragefenster


Eine besondere Bedeutung in der Feldliste hat das Sternchen. Es steht stellver- Stern-Symbol
tretend für alle Felder einer Tabelle. Durch Ziehen des Sternchens in den Ta-
bellenbereich (oder durch Doppelklick) werden alle Felder in der Auswertung
angezeigt, obwohl im Entwurf nur eine Spalte besetzt wird. Vorteil dieses
Verfahrens ist die automatische Anpassung der Abfrage, falls zwischenzeitlich
Änderungen an der Tabellenstruktur vorgenommen wurden. Es ist jedoch
nicht ohne weiteres möglich, Abfrage- oder Sortierkriterien für diese Tabelle
einzugeben. Um dies zu erreichen, müssen Sie die betreffenden einzelnen Fel-
der zusätzlich in den unteren QBE-Bereich ziehen und hierfür Kriterien defi-
nieren. Damit eine doppelte Anzeige dieser Felder vermieden wird, können
Sie diese Felder von der Anzeige ausblenden, in dem Sie das Kästchen in der
Zeile "Anzeigen" deaktivieren.

Analog zum Tabellenfenster befinden sich im Tabellenteil des Abfrageent- Spalten lö-
wurfs oberhalb der Spaltenbezeichnungen sogenannte Spaltenmarkierer. Mit schen, ver-
Hilfe dieser Einrichtung können Spalten gelöscht werden (<Entf>-Taste) oder
schieben
auch durch Ziehen der Markierung mit der Maus verschoben werden.

Manchmal sollen bestimmte Felder nur als Auswahlkriterium dienen, aber Spalten aus-
nicht angezeigt werden. Hierzu klicken Sie im Kontrollkästchen der Zeile An- blenden
zeigen.

Durch Anklicken des Feldes in der Zeile Sortierung können Sie die Sortier- Sortierung
reihenfolge (aufsteigend, absteigend, nicht sortiert) festlegen. Falls mehrere
Felder für die Sortierung ausgewählt werden, werden die am weitesten links
stehenden Felder zuerst berücksichtigt.

Standardmäßig werden die Feldnamen als Überschriften übernommen. Um an- Feldnamen


dere Namen zu verwenden, schreiben Sie den neuen Namen vor den alten und verändern
trennen die beiden Einträge durch einen Doppelpunkt ab.

- 56 -
Abfragen

Abbildung 30: Feldnamen ändern und Feld ausblenden


Bei einer Abfrage, die auf mehreren Tabellen basiert, ist manchmal nicht klar,
zu welcher Tabelle eine Feld gehört. Zur Anzeige des Tabellennamens wählen
Sie den Befehl Ansicht Tabellennamen.

Zur Anzeige der Daten wechseln Sie von der Entwurfsansicht in die Daten- Daten anzei-
blattansicht. Hierzu klicken Sie auf das Datenblattsymbol oder wählen den gen
Befehl Ansicht Datenblattansicht. Zum Bearbeiten der Abfrage klicken Sie
das Entwurfssymbol an.

Abbildung 31: Wechsel zwischen den Abfrage-Ansichten


Wer sich mit der Abfrage-Sprache SQL auskennt, kann sich auch den SQL- SQL
Code der Abfrage anzeigen lassen und ihn bearbeiten.

Zum Speichern der Abfrage klicken Sie das Speichern-Symbol an und wählen Abfrage spei-
einen geeigneten Namen. Bemühen Sie sich um einen aussagekräftigen Na- chern
men, der auch mehrere Wörter umfassen kann, da Sie im Laufe der Zeit eine
große Anzahl von Abfragen erhalten werden und Sie diese später unterschei-
den müssen. Eine bereits vorhandene Abfrage können Sie mit dem Befehl Da-
tei Speichern unter unter einem anderen Namen speichern, damit die alte nicht
überschrieben wird.

6.4 Suchkriterien
Durch Eingabe entsprechender Bedingungen in die Kriterienzeilen des Ent- Eingabe von
wurfsfensters werden bestimmte Datensätze ausgewählt. Die Eingabe des Aus- Kriterien
drucks hängt vom Feldtyp ab; allerdings passt das Programm in vielen Fällen
die Eingabe selbständig an. So setzt das System automatisch Anführungsstri-
che bei Textfeldern, Datumsangaben werden durch das Zeichen "#" einge-
schlossen, und bei der Verwendung der Platzhalter-Zeichen "*" und "?" wird
automatisch das Wort "Wie" ergänzt. Das Zeichen „*“ steht hierbei für eine
beliebige Anzahl von Zeichen, „?“ für ein einzelnes Zeichen. Bei numerischen
Feldern steht das Zeichen „#“ für eine einzelne Ziffer.

Nur bei der Eingabe von längeren Texten mit Leerzeichen müssen Sie Anfüh-
rungsstriche verwenden, und bei Zahleneingaben in numerischen Feldern ge-

- 57 -
Abfragen

ben Sie die Zahlen ohne die Formate ein, also keine Prozentzahlen oder Tau-
sendertrennzeichen.

Kriterien können durch "Zwischen", "Und" und "Oder" miteinander kombi- Kriterien kom-
niert werden, so dass auch komplexe Bedingungen möglich sind. Innerhalb binieren
eines Feldes bereiten solche Verknüpfungen kaum Probleme. Oft sind jedoch
Kriterien erforderlich, die sich über verschiedenen Felder erstrecken. Hierfür
gelten folgende Regeln:

• Für eine "Und"-Verknüpfung werden alle Bedingungen in die gleiche Zei-


le eingetragen.

• Für eine "Oder"-Verknüpfung muss jede Bedingung in einer eigenen Zeile


stehen.

Sollen in einem Kriterium Bezüge zu anderen Feldern hergestellt werden, z.B.


für Berechnungen, müssen die Feldnamen in eckigen Klammern geschrieben
werden.

Beispiele:

>=20000 Alle Werte, die größer oder gleich 20000 sind

Zwischen 2 und 7 Alle Werte zwischen 2 und 7

„Köln“ oder „Frankfurt“ In einer der drei Städte


oder „Berlin

In („Köln“; „Frankfurt“; In einer der drei Städte


„Berlin“)

Ist Null Alle Felder, die leer sind

Ist Nicht Null Alle nichtleeren Felder

M* alle Zeichenketten, die mit „M“ beginnen

?u* Beliebige Zeichenkette mit einem „u“ an zweiter


Stelle

6.5 Parameter in Abfragen


Häufig werden Abfragen benötigt, an denen nur geringfügige Änderungen
vorgenommen werden müssen, z.B. die Änderung des Monatsnamens oder der
Diagnose. Um nicht ständig den Entwurf bearbeiten zu müssen, besteht die
Möglichkeit, Parameter an eine Abfrage zu übergeben, die beim Start der Ab-
frage dialoggesteuert abgefragt werden.

- 58 -
Abfragen

Berichte oder Formulare, die auf solchen parametergestützten Abfragen basie-


ren, übernehmen damit auch die dialoggesteuerte Auswahl, so dass hiermit ein
sehr flexibles Instrument zur Verfügung steht.

Die Arbeit mit Parametern ist denkbar einfach. Geben Sie in der Kriterienzeile Parameter de-
des Feldes einen Text in eckigen Klammern ein. Anschließend führen Sie die finieren
Abfrage aus, wobei Sie diesen Text als Aufforderung zur Parametereingabe
vorgespielt bekommen.

Beispiel: Sie möchten bestimmte Diagnosen auswählen. Hierzu geben


Sie in der Kriterienzeile des Feldes "Diagnose" folgendes ein:

[Diagnose:]

Achten Sie darauf, dass Sie keinen bereits vorhandenen Feldnamen innerhalb
der eckigen Klammern verwenden.

Zur Vermeidung von Fehlern sollten Sie bei numerischen Feldern und Da- Definition der
tumsfeldern die Parameter zusätzlich definieren. Hierzu wählen Sie den Befehl Parameter
Abfrage Parameter. Im Dialogfenster geben Sie in der Spalte den Namen ein
und wählen den Datentyp in der zweiten Spalte. Damit die Schreibweise des
Namens mit dem in der Kriterienzeile übereinstimmt, sollten Sie diesen über
die Zwischenablage übernehmen (Markierung in der Kriterienzeile ohne die
eckigen Klammern, <Strg>+C zum Kopieren, im Parameterfenster mit
<Strg>+V übernehmen).

Zum Entfernen der Filterkriterien müssen Sie die Einträge in der Kriterienzeile
sowie auch die Parameter löschen.

Abbildung 32: Parameterabfrage


Die Parameter können sich auch auf Auswahlfelder in Formularen beziehen,
so dass die Parameter auch sehr übersichtlich formulargesteuert erfasst werden
können.

- 59 -
Abfragen

6.6 Berechnungen in Abfragen


Innerhalb einer Abfrage können umfangreiche Berechnungen durchgeführt
werden. Diese Berechnungen können sich auf alle Datensätze beziehen oder
für Datengruppen durchgeführt werden.

Ein berechnetes Feld wird stets in eine neue leere Spalte des unteren QBE-
Bereichs eingefügt. Es ist ein zusätzliches Feld und wird nicht in Tabellen
gespeichert. Um Erstellen eines berechneten Feldes gehen Sie folgendermaßen
vor:

• Steuern Sie in einer leeren Spalte die Feldnamenszeile an.

• Wählen Sie über das Aufbauen-Symbol den Ausdruckseditor.

• Wählen Sie innerhalb des Ausdruckseditors die Felder und Funktionen aus
oder geben Sie die Berechnungsvorschriften direkt ein.

Abbildung 33: Berechnungen im Ausdruckseditor


• Nach dem Verlassen des Ausdruckseditors ändern Sie den Namen vor dem
Doppelpunkt in einen geeigneteren.

• Führen Sie die Abfrage mit dem Datenblattsymbol aus.

- 60 -
Abfragen

Anstelle des Ausdruckseditors können Sie die Berechnung auch direkt einge-
ben:

• Zunächst geben Sie in die Zeile "Feld" den Namen des Rechenfeldes ein Berechnungen
und schließen diesen durch einen Doppelpunkt ab. innerhalb der
Datensätze
• Hinter den Doppelpunkt tippen Sie die Berechnungsformel ein, wobei
Feldnamen, die aus mehreren Wörtern bestehen, in eckige Klammern ge-
setzt werden müssen. Kurze Feldnamen werden von Access automatisch
erkannt und in Klammern gesetzt.

6.7 Aggregatfunktionen
Manchmal müssen bestimmte Funktionen auf eine Gruppe von Daten ange-
wandt werden. Hierzu könnte z.B. die Rechnungssumme gehören, falls in ei-
ner Abfrage die einzelnen Rechnungsposten angezeigt werden. Weitere Bei-
spiele wären die Anzahl der Diagnosen in einer Patientendatenbank oder die
Anzahl der Kursteilnehmer in einer Kursverwaltung. Ebenso könnte der Mit-
telwert bei Altersangaben berechnet werden. Funktionen, die sich auf eine
Gruppe von Datensätzen beziehen, nennt man Aggregatfunktionen.

Um solche Berechnungen durchzuführen, gehen Sie folgendermaßen vor:

• Im Entwurfsfenster der Abfrage übernehmen Sie nur die Felder in den An-
zeigebereich, für die Gruppierungen oder Berechnungen durchgeführt wer-
den sollen.

• Erweitern Sie den QBE-Bereich um die Funktionszeile, indem Sie das


Funktionssymbol anklicken oder den Befehl Ansicht Funktionen wählen.

• Für alle Felder ist automatisch die Funktion Gruppierung ausgewählt.


Wählen Sie für die zu berechnenden Felder die gewünschte Funktion in
der Funktionszeile aus.

Falls für mehrere Datenfelder die Funktion "Gruppierung" gewählt wurde, Aggregatfunk-
werden diese wie beim Sortieren in der Priorität von links nach rechts ausge- tionen
wertet.
Gruppierung
Für alle Felder des QBE-Bereiches muss eine Funktion gewählt werden. Des-
halb ist es in der Regel nicht möglich, neben den Gruppenberechnungen auch
noch die einzelnen Datensätze aufzulisten. Hierfür sind Berichte oder Formu-
lare besser geeignet.

- 61 -
Abfragen

Abbildung 34: Aggregatfunktion Anzahl

Abbildung 35: Ergebnis der Gruppierung

- 62 -
Abfragen

6.8 Aktionsabfragen
Während bisher Abfragen der Auswertung von Datenbeständen dienten (Aus-
wahlabfragen), können mit Aktionsabfragen Datenbestände verändert werden.
Dies ist vor allem dann sinnvoll, wenn an vielen Datensätzen die gleichen Än-
derungen vorgenommen werden sollen, z.B. die Erhöhung der Preise um 5
Prozent.

Da Aktionsabfragen mitunter schlimme Folgen haben können, werden sie im


Datenbankfenster durch ein besonderes Symbol, das Ausrufezeichen (!) ge-
kennzeichnet. Dieses Symbol soll den Anwender auf die besonderen Gefahren
dieser Abfragen aufmerksam machen, da Änderungen am Datenbestand vor-
genommen werden.

Abbildung 36: Aktionsabfragen im Datenbankfenster


Eine weitere Sicherung ist in der Symbolleiste eingebaut. Auswahlabfragen
führen Sie normalerweise durch Wechsel in die Datenblattansicht aus. Zum
Ausführen von Aktionsabfragen müssen Sie das Ausführen-Symbol in der
Symbolleiste wählen. Zwar können auch Auswahlabfragen über dieses Sym-
bol ausgeführt werden, aus Sicherheitsgründen rate ich jedoch hiervon ab.
Zusätzlich erscheint beim Ausführen der Aktionsabfrage eine Sicherheitsab-
frage.

Als weitere Vorsichtsmaßnahme können Sie vor dem Ablauf einer Aktionsab-
frage folgende Aktionen durchführen:

• Erstellen Sie zuvor mit Hilfe des Windows-Explorers ein Duplikat Ihrer
gesamten Access-Datenbank, damit Sie auf die Kopie zurückgreifen kön-
nen, falls die Aktion schiefgelaufen ist.

- 63 -
Abfragen

• Über die Zwischenablage können Sie auch im Datenbankfenster eine Ko-


pie der betroffenen Tabellen erstellen. Hierzu markieren Sie die in Frage
kommende Tabelle, kopieren Sie in die Zwischenablage (<Strg>+C oder
Kopieren-Symbol), anschließend fügen Sie die Kopie aus der Zwischenab-
lage ein (<Strg>+V oder Einfügen-Symbol). Beim Einfügen werden Sie
aufgefordert, einen neuen Namen für die duplizierte Tabelle einzugeben.

Abbildung 37: Tabelle über Zwischenablage duplizieren


Möglichkeiten von Aktionsabfragen:

• Erzeugung einer neuen Tabelle, die die ausgewählten Daten enthält

• Löschung ausgewählter Daten

• Anfügen ausgewählter Datensätze an eine Tabelle

• Änderung bestimmter Felder in den ausgewählten Sätzen.

Zur Durchführung einer Aktionsabfrage gehen Sie folgendermaßen vor:

1. Entwerfen Sie eine ganz normale Auswahlabfrage, welche die gewünsch-


ten Daten enthält.

2. Führen Sie die Auswahlabfrage aus und überprüfen Sie, ob die gewünsch-
ten Daten ausgewählt wurden (z.B. für Löschabfragen).

3. Wandeln Sie die Auswahlabfrage in eine Aktionsabfrage um, indem Sie im


Befehl Abfrage die gewünschte Aktionsabfrage wählen oder indem Sie das
entsprechende Symbol anklicken.

Abbildung 38: Auswahl des Abfragetyps

- 64 -
Abfragen

4. Wählen Sie die Details Ihrer Aktionsabfrage.

5. Führen Sie die Aktion durch Anklicken des Ausführensymbols in der


Symbolleiste aus.

6. Bestätigen Sie im Dialogfenster die Sicherheitsnachfrage, in der die An-


zahl der bearbeiteten Datensätze angegeben werden.

Abbildung 39: Sicherheitsnachfrage einer Änderungsabfrage


7. Nach der Durchführung kontrollieren Sie die Ergebnisse, indem Sie wieder
zur Auswahlabfrage zurückkehren.

Beispiel:

Abbildung 40: Änderungsabfrage

6.9 Eigenschaften
Bei den Eigenschaften unterscheiden wir zwischen den Eigenschaften der ge-
samten Abfrage und den einzelnen Feldeigenschaften. Zur Anzeige des Eigen-
schaftenfensters wählen Sie den Befehl Ansicht Eigenschaften oder klicken
das Eigenschaftensymbol an.

Um die Eigenschaften von Feldern zu bearbeiten, wählen Sie im unteren Be- Feldformate
reich das gewünschte Feld aus. Im Eigenschaftenfenster werden vor allem die ändern
Formatierungen von Zahlen- und Datumsfeldern häufiger benötigt.

- 65 -
Abfragen

Abbildung 41: Formatierung von berechneten Abfragefeldern


Kaum bekannt und selten verwendet sind die Eigenschaften der Abfrage.
Durch Anklicken des oberen Bereichs wird die Abfrage ausgewählt. Durch
Doppelklick im oberen Bereich wird automatisch das Eigenschaftenfenster der
Abfrage eingeblendet.

Abbildung 42: Eigenschaften einer Abfrage


Im Punkt Beschreibung können Sie die Abfrage für Dokumentationszwecke
ausführlicher beschreiben.

Im nächsten Punkt können Sie veranlassen, dass alle Tabellenfelder ausgege-


ben werden (wird selten benötigt), dann können über den Punkt Spitzenwerte
nur die <N> ersten oder <N> Prozent Datensätze abgefragt werden. Bei um-
fangreichen Datenbeständen könne Sie hiermit Zeit sparen.

Bei den nächsten beiden Punkten geht es um die Ausschaltung doppelter Da- Eindeutigkeit
tensätze. Keine Duplikate bedeutet, dass doppelt vorkommende Datensätze
ausgeblendet werden, wobei als Basis die ausgewählten Felder dienen
(SELECT DISTINCT in der SQL-Sprache). Die Eigenschaft Eindeutige Da-
tensätze bewirkt fast das gleiche, nur werden hier bei mehreren berücksichtig-
ten Tabellen alle Felder der Tabellen berücksichtigt (SELECT
DISTINCTROW).

Die anderen Eigenschaften werden seltener benötigt und hier deshalb nicht
näher erläutert.

- 66 -
Formulare

7 Formulare
Neben Tabellen sind Formulare die wichtigsten Objekte in einer Access-Da-
tenbank. Während die Daten in einer Tabelle recht spartanisch präsentiert wer-
den, haben sie in Formularen vielfältige gestalterische Möglichkeiten. So kön-
nen Sie z.B. Grafiken einbinden, Optionsfelder, Kontrollkästchen und Listen-
felder können die Eingabe sehr stark steuern, und es können sehr weitgehende
Gültigkeitsüberprüfungen der Eingaben eingebaut werden.

Im Unterschied zur Tabellendarstellung kann in Formularen jeweils ein kom- Einzelsatz-


pletter Datensatz pro Bildschirmseite dargestellt werden, wobei zusätzlich darstellung
Diagramme und andere grafische Elemente (Rechtecke, Linien, usw.) verwen-
det werden können. Sie können außerdem bestimmen, ob alle oder nur be-
stimmte Felder im Formular dargestellt werden sollen.

Für verknüpfte Tabellen bieten sich Haupt- und Unterformulare an, so dass in- Darstellung
nerhalb eines Fensters z.B. sehr treffend 1:N-Beziehungen dargestellt werden verknüpfter
können (vgl. Unterdatenblätter in der Tabellendarstellung).
Tabellen
Jedem Formular liegen die Daten einer Tabelle oder Abfrage zugrunde, so
dass Eingaben oder Änderungen automatisch die entsprechenden Tabellen
aktualisieren.

Im Formular stehen verschiedene Ansichten zur Verfügung, die über die Sym-
bole am linken Rand der Symbolleiste angesteuert werden können. Auf die
komplexen Möglichkeiten der Pivot-Darstellung möchte ich hier verzichten.

Entwurfsansicht: Hier wird ein Formular entwickelt und verändert.

Formularansicht: Hier werden die Daten erfasst und verändert, wobei in


der Regel nur jeweils ein Datensatz angezeigt wird.

Datenblattansicht: Sie ist mit der Tabellenansicht in einer Tabelle zu ver-


gleichen, wobei allerdings hier die Einflussmöglichkei-
ten größer sind.

Seitenansicht: Hier wird das Formular so angezeigt, wie es ausgedruckt


würde. Der Ausdruck eines Formulars sollte allerdings
die Ausnahme sein, da für Ausdrücke Berichte erstellt
werden sollten.

7.1 Anlegen eines neuen Formulars


Zur Generierung eines Formulars stehen Ihnen grundsätzlich zwei Wege zur
Verfügung. Der erste und schnellste Weg führt über den Formularassistenten,
eine weitere Methode besteht darin, ein leeres Formular zu erzeugen und die
Komponenten einzeln einzubinden. Ein mit dem Formularassistenten aufge-
bautes Formular kann natürlich auch nachbearbeitet und verändert werden.

- 67 -
Formulare

Zum Aufbau eines neuen Formulars mit dem Assistenten gehen Sie folgender-
maßen vor:

• Wählen Sie im Datenbankfenster den Modul Formular und dort die


Schaltfläche "Neu". Alternativ können Sie auch den Befehl Datei Neues
Objekt erstellen ... Formular oder direkt das Formularsymbol in der Sym-
bolleiste wählen.

• Wählen Sie die Tabelle oder die Abfrage aus, auf der das Formular basie-
ren soll.

• Entscheiden Sie sich, ob Sie mit dem Formularassistenten arbeiten wollen


oder ob Sie ein Formular manuell (Entwurfsansicht) aufbauen möchten.
Daneben werden Autoformulare für die automatische Erstellung sowie As-
sistenten für Diagramme und Pivot-Tabellen (Æ Excel) angeboten.

Abbildung 43: Neues Formular erstellen


Einspaltig bedeutet, dass nur jeweils ein Datensatz einer Tabelle oder Abfrage
sichtbar wird.

Im Tabellenformat werden die Datensätze tabellenartig dargestellt, das heißt


es werden mehrere Sätze gleichzeitig dargestellt.

Über das Diagrammformular können Daten einer Tabelle grafisch dargestellt


werden.

Für Auswertungen können Pivot-Tabellen mit Excel erstellt werden, die als
Objekt in ein Access-Formular eingebettet werden können.

Wir wollen zunächst den üblichen Weg mit dem Formularassistenten gehen.

Nach dem Start des Formularassistenten werden folgende Punkte menüge- Formular-
steuert durchschritten: assistent

- 68 -
Formulare

Im nächsten Schritt müssen die Felder festgelegt werden, die im Formular an- Auswahl der
gezeigt werden sollen. Hierzu markieren Sie das gewünschte Feld und übertra- Felder
gen es mit dem Symbol ">" ins Formular. Ebenso können Sie das Feld mit
dem Symbol "<" aus dem Formular wieder entfernen. Zur Übernahme aller
Felder klicken Sie das Symbol ">>" an, zur Rücknahme entsprechend "<<".
Achten Sie auf die Reihenfolge der Übertragung, da hier die Reihenfolge der
Felder während der Dateneingabe festgelegt wird.

Abbildung 44: Auswahl der Felder


Oberhalb der Feldliste können ebenfalls Tabellen oder Abfragen ausgewählt Auswahl meh-
werden. Bei Verwendung mehrerer Tabellen oder Abfragen (Æ Haupt- rerer Tabellen
/Unterformular) werden hier die Objekte mit ihren Feldern nacheinander aus-
gewählt.

Mit der Schaltfläche "Weiter" gelangen Sie zum nächsten Schritt, mit "Abbre-
chen" oder durch Drücken der <Esc>-Taste brechen Sie alles ab und können
noch einmal von vorn beginnen.

Falls die Basis Ihres Formulars aus mehr als einer Tabelle besteht, werden Sie Haupt-/Unter-
zusätzlich gefragt, wie die Daten angezeigt werden sollen (s.u.). formular

- 69 -
Formulare

Abbildung 45: Komplexe Formulare mit mehreren Tabellen

Im nächsten Schritt legen Sie das Layout der Daten fest. Zur besseren Kon- Layout
trolle sehen Sie das Format im linken oberen Teil des Fensters.

Abbildung 46: Darstellung der Daten


Anschließend bestimmen Sie den Formularstil, wobei vor allem die Art des
Hintergrunds gewählt werden kann.

- 70 -
Formulare

Abbildung 47: Formularstil


Im letzten Schritt geben Sie eine Überschrift für das Formular ein, die in der
Kopfzeile erscheint. Der Name des Objekts "Formular" wird erst beim Spei-
chern des Formulars vergeben (Befehl Datei Speichern ...).

Abbildung 48: Letzter Schritt im Formularassistenten


Mit der Option "Öffnen" können Sie sich das Formular ansehen, Änderungen
können über die Option "Entwurf" oder auch später durch Wechseln in den
Entwurfsmodus vorgenommen werden.

- 71 -
Formulare

7.2 Aufbau eines Formulars


Im Entwurfsfenster eines Formulars ist die Aufteilung eines Formulars sicht-
bar. Es besteht aus folgenden Komponenten:

• Formularkopf Formularauf-
bau
• Detailbereich mit den Feldern

• Formularfuß

Abbildung 49: Formularentwurf


Der Formularkopf enthält die Überschrift und evtl. weitere Daten wie z.B. das Formularkopf
aktuelle Datum oder Grafiken. Zusätzlich kann für den Ausdruck des Formu-
lars ein Seitenkopf und ein Seitenfuß eingeblendet werden. Das Ein- und Aus-
blenden dieser Elemente geschieht über den Befehl Ansicht Formularkopf/-fuß
bzw. Ansicht Seitenkopf-/fuß. Außerdem können Sie die grauen Trennlinien
mit der Maus verschieben und somit die Bereichsgröße verändern. So könnten
Sie z.B. den Formularkopf nach unten erweitern, indem Sie die Maus auf die
obere Kante der Abgrenzung zum Detailbereich bewegen (der Mauspfeil ver-
wandelt sich in einen schwarzen Doppelpfeil) und anschließend die Trennlinie
verschieben.

Am linken und oberen Rand sehen Sie ein Lineal, welches über den Befehl Lineal
Ansicht Lineal ein- bzw. ausgeblendet werden kann.

Auch die Rasterlinien können Sie über den Ansicht-Befehl ein- oder ausblen- Rasterlinien
den.

- 72 -
Formulare

Weiterhin können Sie im Formular folgende Elemente, zu deren Aktivierung


und Deaktivierung folgende Symbole gehören, einblenden:

• das Eigenschaftenfenster

• die Feldliste

• die Toolbox

Diese Elemente können am einfachsten über die Symbole oder über den Be-
fehl Ansicht ... angezeigt oder wieder ausgeblendet werden.

Das Eigenschaftenfenster bezieht sich immer auf das markierte Steuerelement.


Es kann auch sehr schnell durch Doppelklick auf das Element aktiviert wer-
den. Da dieses Fenster mitunter sehr komplex wird, können Sie zur besseren
Übersicht über das Listenfeld im oberen Teil des Fensters Elemente ansteuern.

Abbildung 50: Listenfeld zur Aktivierung von Steuerelementen


Das Eigenschaftenfenster zeigt immer nur die Eigenschaften des ausgewählten
Steuerelements an.

Neben den einzelnen Feldelementen, die durch Anklicken ausgewählt werden,


können also auch nach entsprechender Auswahl die Eigenschaften der Formu-
larbereiche Kopf, Detailbereich und Fuß bearbeitet werden.

Häufig werden auch die Eigenschaften des gesamten Formulars gebraucht. Zur
Auswahl des Formulars wählen Sie den Befehl Bearbeiten Formular auswäh-
len oder klicken das Symbol am linken Rand des horizontalen Lineals an.

- 73 -
Formulare

Abbildung 51: Eigenschaftenfenster


Wegen seiner Komplexität ist das Eigenschaftenfenster in mehrere Register
unterteilt. Alle Möglichkeiten zum Bearbeiten des angesteuerten Objekts fin-
den Sie in diesen Eigenschaften.

7.3 Bearbeiten von Steuerelementen


Zur Bearbeitung eines Feldes bietet sich nach dessen Markierung vor allem Rechte Maus-
die kontextbezogene rechte Maustaste an, die auch in anderen Zusammenhän- taste
gen zur Wahl der gerade passenden Befehle immer wieder verwendet werden
kann.

Alle Elemente, die sich im Formularentwurf in einem der drei Bereiche befin-
den, werden Steuerelemente genannt. Die wichtigsten Steuerelemente sind die Textfelder
Textfelder, über die Daten eingegeben werden können, und Bezeichnungsfel-
Bezeichnungs-
der, mit denen die Textfelder erläutert werden können oder auch freie Texte
im Formular angelegt werden können. felder

Abbildung 52: Bezeichnungsfeld und Textfeld


Textfelder und die zugeordneten Bezeichnungsfelder können gemeinsam, aber
auch getrennt bearbeitet werden. Beim Anklicken werden zunächst beide mar-
kiert. Durch Positionieren des Mauscursors auf eine Randlinie (Mauscursor
wird als geöffnete Hand dargestellt) und Ziehen werden beide Elemente ge-
meinsam verschoben. Einfacher geschieht dies, wenn Sie nach dem Anklicken
die linke Maustaste gedrückt halten und ziehen.

Soll z.B. nur das Textfeld verschoben werden, positionieren Sie den Maus-
cursor auf das linke obere Quadrat des Steuerelements (eine Hand, bei der
Daumen und Zeigefinger sichtbar sind, symbolisiert dies) und ziehen Sie in
die gewünschte Richtung.

Um die Größe eines Steuerelements zu verändern, ziehen Sie an einem der


Anfasserpunkte.

- 74 -
Formulare

Um mehrere Elemente gleichzeitig zu bearbeiten, müssen diese zunächst mar- Markierung


kiert werden. Hierzu ziehen Sie mit der Maus einen Rahmen um die Objekte, mehrerer Ele-
wobei es ausreicht, wenn die betreffenden Objekte nur teilweise markiert sind.
mente
Achten Sie darauf, dass Sie außerhalb eines Steuerelements aufsetzen. Alter-
nativ können Sie die Markierung über die Lineale vornehmen. Anschließend
können Sie den markierten Bereich verschieben, indem Sie wiederum den
Rand der Markierung ansteuern und ziehen.

Bei gedrückter <Shift>-Taste könne Sie mehrere Steuerelemente auch nach-


einander anklicken.

Häufig werden Elemente unbeabsichtigt verschoben. Denken Sie in diesem


Fall an die Rückgängig-Funktion, die Sie über das entsprechende Symbol,
über den Befehl Bearbeiten Rückgängig oder die Tastenkombination
<Strg>+Z aktivieren können. Solange Sie die linke Maustaste nicht losgelas- Rückgängig
sen haben, kommen Sie auch mit der <Esc>-Taste zur alten Position zurück.

Beim Verschieben von Elementen gibt es oft das Problem, die Elemente in ei-
ner Linie auszurichten. Hierbei besteht auch die Möglichkeit, die Ausrichtung
mehrerer Steuerelemente global vorzunehmen. Hierzu gehen Sie folgen-
dermaßen vor:

• Markieren Sie die gewünschten Elemente. Ausrichtung


der Elemente
• Wählen Sie den Befehl Format Ausrichten Linksbündig (bzw. Rechtsbün-
dig).

Alternativ finden Sie diesen Befehl schneller über das Kontextmenü (rech-
te Maustaste innerhalb der markierten Objekte).

Damit werden alle markierten Elemente linksbündig (bzw. rechtsbündig) aus-


gerichtet, wobei als Orientierung das am weitesten links (bzw. rechts) in der
Markierung stehende Element dient.

Analog läuft die Ausrichtung nach oben bzw. unten, wobei als Orientierung
das am weitesten oben bzw. unten stehende Element dient.

Automatisch werden die Steuerelemente an einem bestimmten Raster ausge- Raster


richtet. Um dies zu ändern, wählen Sie den Befehl Format Am Raster ausrich-
ten oder über das Kontextmenü (rechte Maustaste) die Befehlsfolge Ausrich-
ten Am Raster ausrichten.

Die Rasterweite kann im Eigenschaftenfenster des Formulars verändert wer-


den. Im Register „Format“ finden Sie die Punkte „Raster X“ und „Raster Y“,
die mit der Rasterweite 10 (=10 Unterteilungen pro Maßeinheit (cm)) vorein-
gestellt sind.

Horizontale und vertikale Abstände können für die markierten Felder sehr Abstände ver-
schnell verkleinert und vergrößert werden. Hierzu wählen Sie den Befehl For- größern, ver-
mat Horizontaler Abstand bzw. Vertikaler Abstand und anschließend den
kleinern
Punkt Verkleinern oder Vergrößern.

- 75 -
Formulare

Eine häufig benötigte Funktion ist das Erzeugen gleicher Abstände zwischen Gleichmäßige
den Elementen. Hierzu wählen Sie im obigen Befehl den Punkt Angleichen. Abstände
Neben der Ausrichtung von Steuerelementen können Sie auch die Ausrichtung Formatierung
und die Zeichenformatierung der Daten innerhalb eines Steuerelements verän-
dern. Dies geschieht über die bekannten Formatierungssymbole in der Sym-
bolleiste, kann aber auch im Eigenschaftenfenster im Register Format erfol-
gen.

7.4 Einfügen neuer Steuerelemente


Als Steuerelemente können Sie zum einen Felder zugrundeliegender Tabellen
oder Abfragen in den Formularentwurf einfügen, es können jedoch auch be-
sonders geartete Felder wie z.B. Listen- oder Kombinationsfelder oder berech-
nete Felder neu aufgenommen werden. Hierfür ist vor allem die Toolbox zu-
ständig.

Abbildung 53: Toolbox


Bevor ich auf die einzelnen Feldtypen zu sprechen komme, möchte ich hier Toolbox
die wichtigsten Symbole der Toolbox erläutern:

Steuerelemente bearbeiten (Markierung)

Steuerelementassistent (sollte aktiviert sein)

Bezeichnungsfeld

Textfeld

Optionsgruppe

Umschaltfläche (Ja-/Nein)

Optionsfeld

Kontrollkästchen

- 76 -
Formulare

Kombinationsfeld

Listenfeld

Befehlsschaltfläche

Bild

Objektfeld

Gebundenes Objektfeld

Seitenumbruch

Register-Steuerelement (ab Version Access97)

Unterformular/Bericht

Linie

Rechteck

Weitere Steuerelemente

7.4.1 Bezeichnungsfelder
Bezeichnungsfelder sind standardmäßig anderen Steuerelementen z.B. als
Feldbezeichnung zugeordnet. Sie können jedoch auch unabhängig davon als
unabhängiger Text, z.B. für Überschriften oder freie Texte, eingefügt werden.
Hierzu gehen Sie folgendermaßen vor:

• Klicken Sie das Bezeichnungsfeld-Symbol in der Toolbox an.

• Ziehen Sie mit der Maus einen rechteckigen Rahmen im Formular auf.

• Geben Sie den gewünschten Text in das neue Element ein.

• Nach Abschluss der Eingabe oder nach erneuter Markierung des Ele- Textformatie-
ments können Sie das Feld über die bekannten Formatierungssymbole in rung
der Symbolleiste formatieren. Hierzu gehören: Füllfarbe und Schriftfar-
be, Schriftart und Schriftgröße, fett, kursiv, unterstrichen, und die Text-
ausrichtungen linksbündig, zentriert, rechtsbündig und Standardausrich-
tung (Text links-, Zahlen rechtsbündig). Wenn der Inhalt des Feldes
nachträglich geändert wurde, können Sie mit dem Befehl Format Größe
anpassen die Feldgröße angleichen.

- 77 -
Formulare

Die Formatierungssymbole werden nicht angezeigt, wenn Sie den Textinhalt


bearbeiten, sondern nur dann, wenn die Markierungspunkte des Elements
sichtbar sind.

7.4.2 Textfelder
Zum Einfügen eines Textfeldes, welches auf einem Feld einer Tabelle oder Textfeld einfü-
Abfrage basiert und noch nicht mittels anderer Methoden (Formularassistent) gen
im Formular eingebunden ist, ziehen Sie den Feldnamen aus der Feldliste in
das Formular. Damit werden die Daten des Feldes der zugrundeliegenden Ta-
belle im Formular bearbeitet.

Hierzu müssen Sie die Feldliste über das entsprechende Symbol oder über den Feldliste
Befehl Ansicht Feldliste einblenden.

Daneben kann ein Textfeld auch für Berechnungen im Formular verwendet


werden oder zur Eingabe von Formeln wie Systemdatum oder Uhrzeit. Hierzu
gehen Sie folgendermaßen vor:

• Klicken Sie auf das Textfeldsymbol in der Toolbox.

• Klicken Sie auf die gewünschte Stelle im Formular.

• Geben Sie die zu berechnende Formel in das Textfeld ein, wobei Sie mit Berechnungen
einem Gleichheitszeichen beginnen müssen. Alternativ können Sie auch im Formular
den Ausdruckseditor verwenden, indem im Register Daten des Eigen-
schaftenfensters des Textfeldes im Punkt Steuerelementinhalt den Editor
aktivieren.

• Ändern oder löschen Sie die Bezeichnung des Textfeldes.

Beispiele für Formeln:

=datum() Anzeige des aktuellen Datums

=[nettopreis]*1,16 Aus dem Feld "Nettopreis" wird der


Bruttopreis berechnet.

=Mittelwert([Punktzahl]) Berechnung des Mittelwertes des Fel-


des Punktzahl.

=(datum()-[Geburtsdatum])/365,25 Berechnung des Alters in Jahren aus


dem Geburtsdatum

Um zu verhindern, dass Rechenfelder im Formular angesprungen werden, set-


zen Sie im Eigenschaftenfenster die Option "Aktiviert" auf "Nein".

- 78 -
Formulare

7.4.3 Listen- und Kombinationsfelder


Mit Hilfe von Listen- und Kombinationsfeldern können Werte aus einer vor-
gegebenen Liste ausgewählt werden. Während ein Listenfeld die Liste immer
anzeigt, ist das Kombinationsfeld flexibler. Es wird nur bei Bedarf geöffnet,
zudem können Eingaben im Textfeld selbst vorgenommen werden. Die
zugrundeliegende Liste kann viele Zeilen und mehrere Spalten enthalten. Wel-
cher Wert in das Formular übernommen wird, wird im Eigenschaftenfenster
des Feldes geregelt. Dort sind vor allem die Punkte "Herkunftstyp", "Daten-
satzherkunft", "Spaltenanzahl", "Spaltenüberschriften", "Spaltenbreiten", "Ge-
bundene Spalte", "Zeilenzahl", "Listenbreite" und "Nur Listeneinträge" maß-
geblich. Diese Punkte finden Sie in den Kategorien Daten- und Format- Ei-
genschaften.

Falls Sie Ihre Tabellen sorgfältig konzipiert haben, werden Sie bereits Nach- Kombinations-
schlagefelder auf Tabellenebene definiert haben. Diese Felder werden automa- felder in Ta-
tisch auch in Formularen übernommen, so dass Sie Kombinationsfelder in
bellen definie-
Formularen nur noch in ganz bestimmten Fällen aufbauen müssen.
ren
Vorgehensweise:

Der schnellste und einfachste Weg führt allerdings über die Steuerelement-
Assistenten. Damit diese aktiv werden, müssen diese über den Befehl Ansicht
Steuerelementassistenten oder das Symbol in der Toolbox aktiviert sein.

• Klicken Sie in der Toolbox das Listenfeld- bzw. Kombinationsfeldsym-


bol an (Listenfelder werden sehr selten benötigt).

• Legen Sie im Formularentwurf die Position des Feldes durch Anklicken


fest. Falls ein Feld aus einer Tabelle oder einer Abfrage zugrunde liegt,
ziehen Sie dieses Feld aus der Feldliste ins Formular. Falls die Steuer-
elementassistenten aktiviert waren, meldet sich nun der entsprechende
Assistent und führt Sie in mehreren Schritten zum Ziel. Diese Schritte
habe ich bereits im Zusammenhang mit Nachschlagefeldern im Kapitel
„Tabellen“ beschrieben.

Falls Sie ohne Assistenten arbeiten möchten oder später Änderungen vorneh-
men möchten, gehen Sie über das Eigenschaftenfenster des betreffenden
Kombinationsfeldes.

- 79 -
Formulare

Abbildung 54: Eigenschaftenfenster eines Kombinationsfeldes


• Wählen Sie im Punkt "Steuerelementinhalt" das entsprechende Feld der
zugrundeliegenden Tabelle oder Abfrage aus, falls Sie das Feld nicht aus
der Feldliste ins Formular gezogen haben.

• Im Punkt "Herkunftstyp" wählen Sie Tabelle/Abfrage, falls die Liste in


Form einer Tabelle oder Abfrage vorliegt. Falls Sie hier "Werteliste" an-
steuern, müssen Sie im nächsten Punkt "Datensatzherkunft" die Werte
der Liste getrennt durch Semikolons eingeben. Bei mehrspaltigen Listen
geben Sie die Werte jeweils zeilenweise ein, wobei Sie bei langen Ein-
trägen das Zoom-Fenster verwenden können (<Shift>+<F2>).

• Wählen Sie im nächsten Punkt "Datensatzherkunft" die Tabelle oder Ab- Datentabelle
frage, welche die Daten der Liste enthält.

• Geben Sie die Anzahl der Spalten der Liste an, die angezeigt werden sol-
len.

• Wählen Sie, ob die Spaltenüberschriften angezeigt werden sollen.

• Geben Sie die Spaltenbreiten der Listenfelder, jeweils getrennt durch


Semikolon, ein. Durch den Wert "0" können einzelnen Spalten ausge-
blendet werden.

• Im Punkt "Gebundene Spalte" geben Sie die Nummer der Spalte ein, die Relevante
den zu übernehmenden Wert enthält. Spalte

• Mit "Zeilenzahl" legen Sie die Anzahl der maximal anzuzeigenden Zei-
len fest (Standard: 8).

• Die Breite der aufklappbare Liste, die durchaus breiter als das zugehörige
Feld sein kann, wird im Punkt "Listenbreite" verändert. Der Eintrag "Au-
tomatisch" passt die Listenbreite dem zugehörigen Feld an und ist des-
wegen bei mehrspaltigen Listen oft ungeeignet.

- 80 -
Formulare

• Im Punkt "Nur Listeneinträge" legen Sie für ein Kombinationsfeld fest,


ob nur Werte der Liste übernommen werden dürfen oder ob auch beliebi-
ge Werte eingegeben werden können. Sie sollten nur Listeneinträge zu-
lassen (Standard).

In der Formularansicht kann die Liste durch Anklicken des Pfeils des entspre-
chenden Feldes aufgeklappt werden.

Abbildung 55: Aufgeklapptes Kombinationsfeld in der Formularansicht


Bei umfangreichen Nachschlagelisten können Sie sehr schnell durch Eingabe
der Anfangsbuchstaben den gewünschten Eintrag eingrenzen.

7.4.4 Suchfelder
Die Daten werden in der Regel in der Formularansicht bearbeitet, d.h. es wird
immer nur ein einzelner Datensatz angezeigt. Häufig soll aber ein ganz be-
stimmter Datensatz, z.B. eine Person, ausgewählt werden. Hierfür stellt Ac-
cess zwar das Suchen-Symbol sowie die Navigationsleiste unterhalb des For-
mulars zur Verfügung, zufriedenstellend sind diese Lösungen jedoch nicht.

Auch die bisher besprochenen Kombinationsfelder sind hierfür keine Lösung,


da die Auswahl lediglich dazu dient, für einen neuen Datensatz den Inhalt aus-
zuwählen. Zum Ansteuern eines vorhandenen Datensatzes eignet sich diese
Lösung nicht.

Deshalb möchte ich hier eine Variante eines Kombinationsfeldes vorstellen,


die das Suchen bestimmter Datensätze sehr elegant gestaltet und in den meis-
ten Formularen angewandt werden kann.

Gehen wir von einem Stammdatenformular aus, in dem über das Feld „Nach-
name“ Datensätze gesucht werden sollen.

- 81 -
Formulare

Um ein Suchfeld aufzubauen, gehen Sie folgendermaßen vor:

• In der Formularansicht blenden Sie die Toolbox ein. Achten Sie darauf,
dass der Steuerelementassistent aktiv ist.

• Klicken Sie in der Toolbox das Kombinationsfeld-Symbol an.

• Klicken Sie im Formular die gewünschte Stelle für das Suchfeld an. Mei-
nes Erachtens eignen sich hierfür vor allem der Formularkopf oder der
Formularfuß.

• Jetzt wird der Kombinationsfeld-Assistent aktiv. Wählen Sie im Dialog-


fenster die letzte Option, nämlich „einen Datensatz im Formular suchen“,
aus.

Abbildung 56: Kombinationsfeld zum Suchen von Datensätzen


• Bestimmen Sie die anzuzeigenden Felder, wobei das Schlüsselfeld (hier
Patienten-Nr) als erstes, später auszublendendes Feld einbezogen werden
sollte.

Abbildung 57: Auswahl der Felder

- 82 -
Formulare

• Legen Sie die Spaltenbreiten fest und blenden Sie bei Bedarf die Schlüs-
selspalte aus.

Abbildung 58: Spaltenbreiten verändern


• Wählen Sie eine Beschriftung für das Kombinationsfeld und schließen Sie
die Erstellung ab.

• Damit die Liste sortiert (hier nach Nachnamen) erscheint, bearbeiten Sie
die Datensatzherkunft der Liste im Register „Daten“ des
Eigenschaftenfensters. Wählen Sie die Sortierung des Feldes in der
entsprechenden Abfrage.

• Bestätigen Sie die Nachfrage zur Aktualisierung mit „Ja“, damit die Ände-
rungen übernommen werden.

In der Formularansicht können Sie anschließend über dieses Suchfeld den ge-
wünschten Datensatz ansteuern.

7.4.5 Optionsfelder und Optionsgruppen


Zur Darstellung von Feldern vom Typ "Ja/Nein" eignen sich diese drei Steuer-
elemente. Sie unterscheiden sich lediglich durch ihr Aussehen, sind in ihrer
Funktion jedoch gleich.

Eine Umschaltfläche ist eine beschriftete Schaltfläche auf dem Formular, die
entweder vertieft ist (Zustand "Ja") oder erhöht (Zustand "Nein"). Sie können
einer Umschaltfläche neben Text auch eine Bitmap-Grafik zuordnen.

Ein Kontrollkästchen ist entweder angekreuzt ("Ja") oder leer ("Nein").

Ebenso kann ein Optionsfeld die zwei Zustände "Ja" (ausgefüllt) oder "Nein"
(leer) darstellen.

- 83 -
Formulare

Um eines der drei Steuerelemente im Formular zu erstellen, gehen Sie fol-


gendermaßen vor:

• Klicken Sie in der Toolbox auf das gewünschte Symbol.

• Ziehen Sie aus der Feldliste den entsprechenden Feldnamen in den Formu-
larentwurf.

Für die Umschaltfläche sollten Sie im Eigenschaften-


fenster eine Beschriftung eingeben.
Zur Darstellung von mehr als zwei Alternativen werden die obigen Steuerele- Optionsgruppe
mente zu einer Gruppe zusammengefasst. In einer Optionsgruppe kann immer
nur eine der aufgeführten Optionen gewählt werden.

Der Optionsgruppe muss ein numerisches Feld der dazugehörigen Tabelle zu-
geordnet werden. Für die Erstellung einer Optionsgruppe bietet sich ein Assis-
tent an, der in selbsterklärenden Schritten zum Ziel führt.

Hierzu gehen Sie folgendermaßen vor:

• Aktivieren Sie den Steuerelementassistenten (Symbol in der Toolbox).

• Klicken Sie das Optionsgruppensymbol in der Toolbox an.

• Ziehen Sie aus der Feldliste das entsprechende Datenfeld ins Formular.

• Anschließend wird der Optionsgruppenassistent aktiv und führt Sie in meh-


reren Schritten zum Ziel.

Im ersten Schritt geben Sie die Wahlmöglichkeiten (Optionen) ein (Beispiel


hier: Familienstand)

Abbildung 59: Eingabe der verschiedenen Optionen

- 84 -
Formulare

Im zweiten Schritt wählen Sie einen Vorgabewert, der bei neuen Datensätzen
automatisch angezeigt wird.

Abbildung 60: Standardauswahl in einer Optionsgruppe


Anschließend ordnen Sie den Optionen Werte zu, wobei die Vorgaben (1, 2, 3,
...) in der Regel übernommen werden können. Achten Sie darauf, dass das
entsprechende Tabellenfeld als ganzzahliges Zahlenfeld definiert wurde (Zah-
lentyp „Byte“).

Abbildung 61: Werte zuweisen


Im nächsten Schritt wählen Sie das Tabellenfeld aus, in dem der Optionswert
gespeichert werden soll.

- 85 -
Formulare

Abbildung 62: Tabellenfeld zuordnen


In den letzten beiden Schritten geht es um das Aussehen der Optionsgruppe
und um die Beschriftung des Steuerelements.

Abbildung 63: Aussehen der Optionsfelder

Abbildung 64: Optionsgruppe in der Formularansicht


Für die manuelle Bearbeitung einer Optionsgruppe dient das Eigenschaften-
fenster. Hierzu können Sie einmal die Optionsgruppe als Ganzes markieren
und deren Eigenschaften verändern, zum anderen können die einzelnen Opti-
onsfelder separat bearbeitet werden. Für die Optionsgruppe ist der Punkt Steu-
erelementinhalt von Bedeutung, für die einzelnen Optionsfelder vor allem der
Punkt Optionswert, der den einzutragenden Wert in der zugrundeliegenden
Tabelle bestimmt.

Weitere Optionsfelder können einer Optionsgruppe manuell hinzugefügt wer-


den, indem Sie das entsprechende Symbol aus der Toolbox in den Options-

- 86 -
Formulare

gruppenrahmen ziehen und anschließend im Eigenschaftenfenster die Details


regeln.

7.4.6 Register-Steuerelement
Zur Erstellung umfangreicher Formulare, die über mehrere Seiten gehen, bie-
ten sich zwei Wege an:

• Arbeit mit Seitenwechseln im Formular mit Hilfe des Seitenwechsel-


Symbols in der Toolbox,

• Verteilung der Formularobjekte auf mehrere Registerblätter mit Hilfe des


Register-Steuerelements.

Die Verwendung von Registern ist erst seit der Version Access97 möglich. Sie
ist meiner Meinung nach den Seitenwechseln vorzuziehen, da sie eine über-
sichtlichere Gliederung eines Formulars ermöglicht.

Um ein mehrseitiges Formular mit Registerkarten aufzubauen, gehen Sie fol-


gendermaßen vor:

• Öffnen Sie das Formular in der Entwurfsansicht.

• Klicken Sie das Register-Steuerelementsymbol in der Toolbox an.

• Klicken Sie die gewünschte Stelle im Formular an oder ziehen Sie einen
Rahmen für die Register auf. Es wird ein Register-Steuerelement mit zwei
Seiten angezeigt.

Abbildung 65: Neu eingefügtes Register-Steuerelement


Zum Markieren des gesamten Objekts klicken Sie den Rand des Objekts an, Register mar-
um eine einzelne Seite zu markieren, klicken Sie oben die Bezeichnung der kieren
Registerkarte an.

Um die vorgegebenen Seitennamen der Registerkarten zu ändern, klicken Sie Register um-
doppelt auf den Namen an und geben im Format-Register des Eigenschaften- benennen
fenster eine neue Beschriftung ein.

- 87 -
Formulare

Zur Übernahme von Steuerelementen gehen Sie folgendermaßen vor: Steuerelemen-


te übernehmen
• Aktivieren Sie die entsprechende Registerkarte durch Anklicken des Na-
mens.

• Über die Feldliste und über die Toolbox können Sie die gewünschten Fel-
der wie üblich auf die Registerseite ziehen.

• Bereits im Formular vorhandene Felder können nicht direkt mit der Maus
in das Register verschoben werden. Hierzu verwenden Sie die Zwischen-
ablage. Markieren Sie also die Elemente im Formular, schneiden Sie in die
Zwischenablage aus (Ausschneiden-Symbol oder <Strg>+X), aktivieren
Sie die Registerkarte und fügen die Elemente aus der Zwischenablage ein
(Einfügen-Symbol oder <Strg>+V).

Um weitere Seiten zu erzeugen, klicken Sie die Seite mit der rechten Maustas- Weitere Regis-
te an, hinter der eine neue Seite erscheinen soll. Wählen Sie dann aus dem terblätter er-
Kontextmenü den Befehl Seite einfügen.
zeugen
Auch die Veränderung der Seitenreihenfolge und das Löschen von Seiten kön- Seitenreihen-
nen Sie über das Kontextmenü (rechte Maustaste) vornehmen. folge, Seiten
löschen

Abbildung 66: Register-Steuerelement

- 88 -
Formulare

7.5 Feldreihenfolge
Die Reihenfolge der Felder während der Dateneingabe richtet sich nach der
Zeitfolge, in der die Felder erstellt wurden. So kann es vorkommen, dass sich Feldreihenfol-
die Anzeige der Felder völlig von der Abfolge unterscheidet, wie die Felder in
ge
der Formularansicht bearbeitet werden. Zur Anpassung der Reihenfolge wäh-
len Sie nach Auswahl des Detailbereichs den Befehl Ansicht Aktivierreihen-
folge. Im rechten Tabellenteil des Fensters können Sie die Anordnung der Fel-
der durch Verschieben mit der Maus verändern. Die Schaltfläche "Automa- Manuell
tisch" sorgt dafür, dass die Felder gemäß ihrer Lage im Formular angesprun-
gen werden, also von oben nach unten und von links nach rechts. Automatisch

Abbildung 67: Feldreihenfolge

7.6 Haupt-/Unterformulare
Zur Bearbeitung von Daten verschiedener verknüpfter Tabellen sind Haupt- Darstellung
und Unterformulare bestens geeignet. Klassischer Fall ist die 1:N-Beziehung, der 1:N-
wobei die 1-Seite durch das Hauptformular und die N-Seite durch ein Unter-
Beziehung
formular repräsentiert wird.

Eine Verknüpfung, die Sie bereits auf Tabellenebene definiert hatten, halte ich
für günstig, da die Verknüpfungen dann übernommen werden. Es können aber
auch über das Eigenschaftenfenster des Hauptformulars Verknüpfungen ange-
geben werden.

Unterformulare bilden eigenständige Formulare innerhalb eines Hauptformu-


lars und können deshalb auch völlig selbständig entworfen und gespeichert
werden. Ein Hauptformular kann mehrere Unterformulare enthalten, wobei
hierbei vor allem die Darstellung in Registerblättern geeignet ist. Unterformu-
lare können wiederum Unterformulare enthalten, so dass eine Schachtelungs-
tiefe von maximal drei Ebenen möglich ist.

- 89 -
Formulare

Standardmäßig wird das Unterformular in der Datenblattansicht angezeigt, es


kann jedoch auch in der Formularansicht (Einzelsatzdarstelllung) dargestellt
werden.

Zum Erstellen von Unterformularen bieten sich zwei Wege an:

a) Gemeinsames Erstellen von Haupt- und Unterformular mit Hilfe des Dia-
grammassistenten.

b) Nachträgliches Hinzufügen eines Unterformulars zu einem Hauptformular.

Zu a)

Im Rahmen des Diagrammasssistenten, den ich bereits beschrieben habe, be-


steht die Möglichkeit, nach der Auswahl der Tabelle und Übernahme der Fel-
der eine weitere Tabelle oder Abfrage auszuwählen, aus der ebenso Felder
übernommen werden können.

Abbildung 68: Hauptformular Stammdaten mit Unterformular Diagno-


sen
Bei Auswahl von Feldern aus unterschiedlichen Tabellen wählen Sie im
nächsten Schritt die Anzeige der Daten. In der Regel können Sie hier den Vor-
schlag des Assistenten bestätigen.

- 90 -
Formulare

Abbildung 69: Hauptformular mit Unterformular


Danach geht es um die Anzeige des Unterformulars, wobei Sie sich zwischen
tabellarischer Ansicht und Datenblattansicht entscheiden müssen.

Abbildung 70: Darstellung des Unterformulars


Nach der Auswahl des Stils müssen Haupt- und Unterformular separat gespei-
chert werden. Hierzu vergeben Sie entsprechende Formularnamen, wobei Sie
das Unterformular als solches kennzeichnen sollten.

- 91 -
Formulare

Abbildung 71: Speichern von Haupt- und Unterformular


Obwohl das Unterformular als eigenes Formular abgespeichert wurde, wird es
beim Aufruf des Hauptformulars angezeigt.

Abbildung 72: Haupt- und Unterformular in der Formularansicht


In der Darstellung wird das Hauptformular einspaltig dargestellt, während das
Unterformular in Tabellenform erscheint. Achten Sie auf die Verknüpfung: Im
Unterformular werden immer nur die passenden Sätze zum gerade angesteuer-
ten Datensatz des Hauptformulars angezeigt.

Im Entwurfsmodus kann das Unterformular im Datenbankfenster geöffnet und Bearbeiten des


einzeln bearbeitet werden, es kann aber auch aus dem Hauptformular heraus Unterformu-
durch Doppelklick angesteuert werden. Achten Sie hierbei darauf, dass das
lars
Unterformularelement vor dem Doppelklick nicht markiert wurde. Nach dem
Speichern des Unterformulars gelangen Sie automatisch zurück ins Hauptfor-
mular. Damit die Änderungen übernommen werden, klicken Sie innerhalb des
Unterformulars an und betätigen die <Return>-Taste.

Die Darstellung des Unterformulars wählen Sie im Eigenschaftenfenster des


Formulars. Hier sind die Punkte Standardansicht und Zugelassene Ansichten
relevant.

- 92 -
Formulare

Abbildung 73: Standardansicht des Unterformulars


Der Diagrammassistent zur Erstellung von Haupt- und Unterformularen reicht
nicht mehr aus, falls mehrere Unterformulare zu einem Hauptformular erstellt
werden. Auch wenn Sie bereits ein Formular für die Detaildaten, die im Unter-
formular dargestellt werden sollen, erstellt haben, bietet sich der nächste Weg
an.

Zu b)

Zum Einfügen eines Unterformulars in eine Hauptformular gehen Sie folgen-


dermaßen vor:

• Erstellen Sie das Unterformular als eigenes Formular und speichern Sie es.

• Öffnen Sie das Hauptformular in der Entwurfsansicht.

• Wechseln Sie in das Datenbankfenster (<F11> oder Symbol).

• Ziehen Sie das Unterformular aus dem Datenbankfenster in das Hauptfor-


mular.

• Ändern Sie eventuell Größe und Position des Unterformular-


Steuerelements.

Unterformulare können auch über das Steuerelement „Unterformular“ in der


Toolbox in das Hauptformular eingefügt werden. Falls der Steuerelementassis-
tent aktiviert ist, werden Sie schrittweise durch die Erstellung des Unterformu-
lars geführt.

Falls noch keine Verknüpfungen definiert wurden, müssen diese im Eigen-


schaftenfenster des Steuerelements Unterformulars innerhalb des Hauptformu-
lars erstellt werden. Der Punkt "Verknüpfen von" bezieht sich hierbei auf das
Feld des Unterformulars, der Punkt "Verknüpfen nach" auf das zugehörige
Feld des Hauptformulars.

- 93 -
Formulare

Abbildung 74: Manuelle Verknüpfung von Haupt- und Unterformular


Neben der Darstellung als Haupt- und Unterformular können Formulare auch Verknüpfte
verknüpft werden, wobei jedes Formular in einem eigenen Fenster erscheint. Formulare
Über eine Schaltfläche kann das verknüpfte Formular eingeblendet oder aus-
geblendet werden, wobei jeweils die zusammengehörigen Daten angezeigt
werden.

Abbildung 75: Verknüpfte Formulare


Zum Aufbau von verknüpften Formularen ändern Sie im Rahmen des Dia-
grammassistenten die Anzeigeoption.

Abbildung 76: Verknüpfte Formulare im Diagrammassistenten

- 94 -
Formulare

7.7 Dateneingabe, Filter, Sortieren


Die Dateneingabe und Datenänderung in der Formularansicht läuft analog zur
Datenbearbeitung in Tabellen ab. Auch hier haben wir am unteren Fensterrand
die Navigationssymbole, mit Hilfe derer wir den nächsten, den vorangehen-
den, den ersten oder den letzten Datensatz ansteuern können. Ebenso können
wir durch Eingabe der Datensatznummer einen bestimmten Datensatz direkt
aktivieren. Beachten Sie, dass bei Haupt- und Unterformulare zwei Navigati-
onsleisten existieren, eine außen für das Hauptformular und eine innen für das
Unterformular. Auch das Suchen und Ersetzen läuft analog zum Tabellenmo-
dus ab.

Abbildung 77: Haupt-/Unterformular in der Formularansicht


Bei der Eingabe gelangen Sie mit Hilfe der <Return>-Taste oder der <Tab>- Wechsel zwi-
Taste automatisch zum nächsten Feld, auch der Wechsel vom Haupt- zum Un- schen Haupt-
terformular erfolgt automatisch. Da zu einem Datensatz des Hauptformulars
und Unter-
mehrere Datensätze des Unterformulars (1:N-Beziehung) existieren können,
kommen Sie vom Unterformular nicht direkt zum Hauptformular zurück. Mit formular
der Tastenkombination <Strg>+<Tab> im Unterformular wird der nächste
(neue) Datensatz im Hauptformular angesteuert. Sie können jedoch auch mit
der Maus das Hauptformular anklicken und anschließend über das „Neuer-
Datensatz“-Symbol oder über die Navigationssymbole den nächsten Satz wäh-
len.

Das Editieren läuft analog zur Datenblattansicht, zum Löschen eines Daten-
satzes müssen Sie diesen zunächst durch Klicken auf die Markierungsleiste am
linken Fensterrand markieren und anschließend mit der <Entf>-Taste löschen.

Mit Hilfe der Filter-/Sortiersymbole in der Symbolleiste kann ein Formular


mit einer Abfrage verbunden werden.

Mit dem ersten Symbol können Sie einen auswahlbasierten Filter in Formu-
laren oder Tabellen definieren. Hierzu gehen Sie folgendermaßen vor:

- 95 -
Formulare

• Klicken Sie das Datenfeld an, welches als Filterbasis dienen soll (z.B. Ge- Auswahlba-
schlecht). sierter Filter
• Klicken Sie das Symbol „Auswahlbasierter Filter“ an.

Damit werden alle Datensätze ausgeblendet, die nicht dem Filterkriterium ent-
sprechen.

Um den Filter aufzuheben, klicken Sie das Symbol „Filter entfernen“ an.

Durch Teilmarkierung innerhalb des Feldes können Sie den Filter flexibler
definieren. Markieren Sie z.B. im Nachnamensfeld nur den Anfangsbuchsta-
ben, werden nur noch alle Datensätze mit dem entsprechenden Anfangsbuch-
staben angezeigt.

Weitere Filter können definiert werden, in dem Sie im Formular oder in der
Tabelle das entsprechende Feld mit der rechten Maus anklicken (Kontextme-
nü).

Abbildung 78: Weitere Filter


Um mehrere Filterbedingungen auszuwählen, wählen Sie einen formularba- Formularba-
sierten Filter. Hierzu gehen Sie folgendermaßen vor: sierter Filter
• Klicken Sie das Symbol „Formularbasierter Filter“ an.

• Geben Sie im Dialogfenster die Filterbedingungen ein, wobei durchaus


mehrere Felder in die Filterdefinition einbezogen werden können.

- 96 -
Formulare

Abbildung 79: Formularbasierter Filter


• Schließen Sie das Filterfenster.

• Über das Filtersymbol kann der Filter jeweils aktiviert oder deaktiviert
werden.

• Über die Oder-Register können Sie zusammengesetzte Filter erstellen.

Vergessen Sie nicht, bei der Definition neuer Filter die alten Filter zu löschen.

Beim Schließen des Formulars wird der definierte Filter mit dem Formular
abgespeichert. Allerdings muss der Filter beim nächsten Öffnen des Formulars
wieder aktiviert werden.

Um einen definierten Filter als Abfrage abzuspeichern, aktivieren Sie den


formularbasierten Filter. Mit dem Befehl Datei Als Abfrage speichern oder
über das entsprechende Symbol kann eine Filter als Abfrage gespeichert wer-
den. Der Befehl Datei Aus Abfrage laden oder das entsprechende Symbol ak-
tiviert den Filter für ein Formular. Der Filter kann über das Abfragefenster im
Formular auch für andere Formulare verwendet werden.
Der Befehl Datensätze Spezialfilter/Sortierung ermöglicht die Definition von Spezialfilter
komplexen Filtern auf Abfragebasis.

Um die Datensätze im Formular sortiert anzeigen zu lassen, wählen Sie das Sortierung
entsprechende Feld aus und klicken das Sortiersymbol an.

- 97 -
Berichte

8 Berichte
Während Tabellen und Formulare vorwiegend für die Anzeige und Bearbei- Vergleich
tung der Daten auf dem Bildschirm gedacht sind, dienen Berichte der Ausgabe Formulare -
von formatierten Daten auf den Drucker. Hierbei können allerdings beliebige
Berichte
Manipulationen vorgenommen werden: die Daten können sortiert oder auch in
Gruppen zusammengefasst werden, es können Berechnungen durchgeführt
werden, und es können mehrspaltige Ausdrücke wie z.B. Etiketten erstellt
werden.

Wie beim Formular basiert ein Bericht immer auf einer Tabelle oder mehrerer
Tabellen oder sehr häufig auf einer Abfrage, wenn die Daten gefiltert oder
verknüpft werden sollen. Da ein Bericht lediglich dem Ausdruck dient, können
hier keine Datensätze bearbeitet werden. Während der Entwicklung eines Be-
richts pendeln Sie daher nur jeweils zwischen zwei Ansichten, der Entwurfs-
ansicht und der Seitenansicht zur Kontrolle des Druckbildes.

Die Arbeit mit Berichten ist sehr stark mit der Entwicklung von Formularen
verwandt. Auch hier gibt es Steuerelemente und eine Toolbox, mit denen auf
die gleiche Art hantiert werden kann. Deshalb möchte ich in diesem Kapitel
nur auf die Besonderheiten von Berichten eingehen.

8.1 Erstellen eines Berichts


Analog zum Formular führt der einfachste und schnellste Weg zum Bericht
über einen Assistenten, den Berichtsassistenten. Allerdings werden Sie hierbei
selten auf Anhieb mit dem Aussehen des Berichts zufrieden sein, so dass Sie
den Bericht noch überarbeiten müssen. Meines Erachtens ist der Aufwand bei
schwierigen Berichten oft geringer, wenn Sie ohne Assistenten den Bericht
manuell aufbauen.

Zur Erstellung eines neuen Berichts mit dem Assistenten gehen Sie folgen-
dermaßen vor:

• Wählen Sie im Datenbankfenster den Modul „Bericht“ und klicken Sie die
Schaltfläche "Neu" an. Alternativ können Sie auch das Symbol "Neuer Be-
richt" in der Symbolleiste verwenden

• Entscheiden Sie, ob Sie mit dem Berichtsassistenten arbeiten möchten oder


einen Bericht anderweitig aufbauen möchten (Leerer Bericht). Access bie-
tet mehrere Assistenten an, die für unterschiedliche Aufgaben zuständig
sind.

- 98 -
Berichte

Abbildung 80: Verschiedene Berichtsasssistenten


• Der Assistent "Autobericht Einspaltig" ordnet die Datensätze der Einzelsatzaus-
zugrundeliegenden Tabelle in der Einzelsatzdarstellung an (vergleichbar druck
mit einspaltigen Formularen). Pro Zeile wird ein Feld mit der zugehörigen
Beschriftung angezeigt. Eine Seite kann jedoch mehrere Datensätze ent-
halten, wobei allerdings die Informationen eines Datensatzes nicht durch
einen Seitenumbruch getrennt werden. Falls pro Seite nur jeweils ein Da-
tensatz erscheinen soll, ändern Sie dies im Eigenschaftenfenster des De-
tailbereiches im Punkt "Neue Seite". Im Berichtskopf erscheint zusätzlich
das Tagesdatum, im Berichtsfuß die Seitenzahl.

• Zur Erstellung einer tabellarischen Liste wählen Sie den Assistenten "Au- Tabellarischer
tobericht tabellarisch". Ausdruck

• Für mehrspaltiges Layout, vor allem für Etiketten, die auf mehreren Etiket- Etikettenassis-
tenbahnen ausgedruckt werden sollen, wählen Sie den Etiketten- tent
assistenten..

• Analog zum Formularassistenten wählen Sie eine oder mehrere zugrunde-


liegende Tabellen oder Abfragen mit ihren Feldern aus.

- 99 -
Berichte

• Falls der Bericht auf mehreren Tabellen basiert, können Sie im nächsten
Schritt die Anzeige der Daten bestimmen.

Abbildung 81: Gliederung eines Berichts


• Für gruppierte Berichte können im nächsten Schritt Gruppierungsebenen
ausgewählt werden.

Abbildung 82: Gruppierungsebenen hinzufügen


• Anschließend legen Sie eine Sortierreihenfolge für die Daten fest. Sie kön-
nen hierbei mehrstufig vorgehen. Das erste angegebene Feld dient als ers-
ter Sortierschlüssel, das zweite Sortierfeld wird herangezogen, falls meh-
rere gleiche Einträge im ersten Sortierfeld vorkommen. Falls die ursprüng-
liche Reihenfolge der zugrundeliegenden Tabelle oder Abfrage beibehal-

- 100 -
Berichte

ten werden soll, übergehen Sie diesen Schritt durch Anklicken der Weiter-
Schaltfläche.

Abbildung 83: Sortierreihenfolge


In den nächsten beiden Schritten geht es um das Layout und um die Dar-
stellung.

Abbildung 84: Berichtslayout

- 101 -
Berichte

Abbildung 85: Berichtsstil


• Im letzten Schritt speichern Sie Ihren Bericht und wählen das weitere Vor-
gehen.

8.2 Berichte editieren


Die manuelle Änderung von Berichten im Entwurfsfenster erfolgt fast analog
zur Formularbearbeitung. Jedoch kommen vor allem bei gruppierten Berichten
einige Neuerungen hinzu. Ein Bericht ist in folgende Bereiche gegliedert:

Bereich Position Verwendung


Berichtskopf Erste Seite oben Titel, Firmenlogo, Da-
tum, Verteiler

Seitenkopf jede Seite oben Seitenzahl, Datenfeld-


beschriftungen

Gruppenkopf zu Beginn jeder neuen Gruppenüberschrift,


Gruppe (nur bei grup- Summenfelder
pierten Berichten)

Detailbereich

Gruppenfuß am Gruppenende Zwischensummen

Seitenfuß jede Seite unten Seitenzahl, Verweis auf


Folgeseiten

Berichtsfuß letzte Seite unten Gesamtsummen, Ender-


gebnisse

- 102 -
Berichte

Abbildung 86: Aufbau eines Berichts


Die einzelnen Bereiche können sehr stark manipuliert werden. So können Sie
z.B. ihre Größe durch Ziehen der Trennlinien verändern, im Eigenschaftenfen-
ster eines jeden Bereichs können weitere Einstellungen für den Ausdruck ge-
troffen werden, und Sie können z.B. einzelne Bereiche über den Befehl For-
mat oder über das Eigenschaftenfenster ausblenden.
Häufig benötigen Sie für einzelne Berichtsbereiche die Möglichkeit, vor oder
nach einem Bereich einen Seitenwechsel einzurichten. Im Format-Register des
Eigenschaftenfensters finden Sie hierfür den Punkt „Neue Seite“.

Abbildung 87: Steuerung des Seitenwechsels in Berichten

- 103 -
Berichte

Beim Aufbau eines Berichts können Sie analog zum Formular mit der Tool-
box, der Feldliste sowie dem mächtigen Eigenschaftenfenster arbeiten. Liegt
dem Bericht eine Abfrage mit mehreren Tabellen zugrunde, kommt ein wich-
tiges Werkzeug hinzu, nämlich das Fenster zum Sortieren und Gruppieren.
Das Dialogfenster blenden Sie mit dem entsprechenden Symbol ein oder aus.

Zum Aufbau eines komplexen Berichts, der die Daten mehrerer Tabellen an-
zeigt, können Sie folgendermaßen vorgehen:

• Stellen Sie zunächst in einer Abfrage die gewünschten Daten zusammen,


wobei der Einsatz von Parametern in der Abfrage häufig sinnvoll ist, da
diese Parameter auch beim Öffnen des Berichts abgefragt werden.

• Erstellen Sie einen neuen Bericht im Entwurfsmodus, wobei Sie die Ab-
frage zugrunde legen.

• Über den Befehl Ansicht blenden Sie evtl. weitere Berichtskomponenten


ein, z.B. den Berichtskopf.

• Wählen Sie über das entsprechende Symbol Gruppierungsebenen und evtl.


die Sortierung Ihrer Daten.

Abbildung 88: Definition von Gruppierungen


• Ziehen Sie mit Hilfe der Feldliste die Felder in die entsprechenden Berei-
che.

• Mit den Symbolen der Toolbox ergänzen Sie Ihren Bericht (z.B. Linien).

• Definieren Sie Seitenumbrüche, in dem Sie sie im Eigenschaftenfenster


des entsprechenden Bereiches (z.B. Gruppenfuß) angeben.

• Mit dem Befehl Einfügen Seitenzahlen erzeugen Sie Seitenzahlen.

• Für zusammenfassende Berechnungen im Gruppenkopf-/Fuß bzw. im Be-


richtskopf-/Fuß arbeiten Sie mit Textfeldern (Toolbox).

- 104 -
Berichte

Abbildung 89: Entwurf eines gruppierten Berichts

- 105 -
Berichte

Abbildung 90: Bericht in der Seitenansicht

- 106 -
Makros

9 Makros
Im Prinzip sind Makros nichts anderes als eine Liste von Aktionen, die einzeln
auch über Menübefehle ausgeführt werden könnten. Die Möglichkeit, sie er-
eignisorientiert Steuerelementen zuzuordnen, macht ihren Einsatz so flexibel
und einfach.

Makros dienen dazu, die Benutzerfreundlichkeit von Formularen und Berich- Funktion von
ten zu verbessern und ihre Möglichkeiten zu erweitern. Neben der Automati- Makros
sierung häufig wiederkehrender Vorgänge können Sie mit Makros das Zu-
sammenwirken verschiedener Datenbankobjekte regeln und diese hiermit zu
einer komplexen Anwendung verknüpfen. Weitere Anwendungsgebiete von
Makros sind:

• Komplexe Gültigkeitsüberprüfung von Daten in Formularen

• Synchronisierung von zwei Formularen

• Erstellung einer benutzerorientierten Datenbankanwendung mit Hilfe von


Schaltflächen

• Erstellung individueller Menüleisten in Formularen

Zum Arbeiten mit Makros muss die Sicherheitsstufe herabgesetzt werden, da Makrosicher-
wegen der Virengefahr standardmäßig Makros nicht zugelassen werden. Hier- heit
zu wählen Sie den Befehl Extras Makro Sicherheit und stellen die Stufe auf
Niedrig.

9.1 Erstellung eines Makros


Im Datenbankfenster sind Makros analog zu Formularen oder Abfragen in
einem eigenen Modul aufgeführt. Das Öffnen oder Erstellen neuer Makros
verläuft daher in gewohnter Manier.

Jedes Makrofenster besteht aus zwei Spalten. In der linken Aktionsspalte kön-
nen die einzelnen Aktionen ausgewählt oder direkt eingegeben werden, die
rechte Spalte dient der Kommentierung der Aktion. In jeder Zeile kann nur
eine Aktion gewählt werden, falls mehrere Aktionen existieren, werden diese
der Reihe nach von oben nach unten ausgeführt.

- 107 -
Makros

Abbildung 91: Makrofenster


In der Regel benötigen die Aktionen genauere Angaben (Parameter). Diese
werden im unteren Teil des Fensters angezeigt. Der Wechsel zwischen dem
oberen und unteren Teil des Makrofensters erfolgt mit der Funktionstaste
<F6>.

Zur Ausführung eines Makros wählen Sie das Ausführungssymbol oder den
Befehl Makro Ausführen.

Das Editieren der Makroaktionen läuft in bekannter Weise ab. Hierzu sind die
Zeilenmarkierer am linken Rand der Tabelle zum Löschen, Einfügen oder
Verschieben von Zeilen sehr vorteilhaft. Mit Hilfe der kontextbezogenen rech-
ten Maustaste kann auch die Zwischenablage sehr elegant in die Arbeit einbe-
zogen werden.

9.2 Bedingungen
Über das entsprechende Symbol oder über den Befehl Ansicht Bedingungen
wird eine weitere Spalte im Makrofenster eingefügt. Hier können Sie be-
stimmte Ausdrücke eingeben, die zur Ausführung bestimmter Aktionen füh-
ren. Der Ausdruck muss als logischen Wert entweder den Wert Wahr oder den
Wert Falsch haben.

Falls die Bedingung zutrifft, wird die Aktion derselben Zeile ausgeführt. Sol-
len mehrere Aktionen in Abhängigkeit von der Bedingung erfolgen, muss jede
dieser Aktionszeilen drei Punktzeichen enthalten.

- 108 -
Makros

Beispiel:

Spalte Bedingung Spalte Aktion

<Bedingung1> Aktion1

... Aktion2

... Aktion3

Aktion4

<Bedingung2> Aktion5

Abb. 1: Bedingungen

Trifft Bedingung 1 zu, werden nacheinander die Aktionen 1, 2 und 3 ausge- If ...Endif
führt. Aktion 4 wird immer ausgeführt. Aktion 5 wird nur ausgeführt, falls
Bedingung 2 wahr ist.

Damit Bedingungen analog zur Schleifenstruktur "If ... Then ... Else" definiert
werden können, also auch der "Else-Zweig" ausgeführt werden kann, verwen-
den Sie die Aktion StopMakro als letzte Aktion innerhalb der Aktionen, die
ausgeführt werden sollen, falls die Bedingung zutrifft.

Beispiel:

Bedingungsspalte Aktionsspalte

<Bedingung1> Aktion1

... Aktion2

... Aktion3

... StopMakro

Aktion4

Aktion5

Abb. 2: If...Then...Else-Verzweigung

Die Aktionen 4 und 5 werden in diesem Beispiel nur ausgeführt, falls die Be- If ... Then
dingung falsch ist (Else-Zweig). ...Else

- 109 -
Makros

9.3 Gruppenmakros
Da Makros in der Regel sehr kurz sind, sammeln sich sehr schnell sehr viele
Makros an, und die Übersicht geht verloren. Verwandte Makros können des-
halb in einer Makrogruppe zusammengefasst werden.

Zum Erstellen eines Gruppenmakros öffnen Sie ein Makro in der Entwurfsan-
sicht. Über den Befehl Ansicht Makronamen oder über das ensprechende Sym-
bol wird im Makrofenster eine weitere Spalte mit dem Namen Makroname
erzeugt. In diese Spalte geben Sie den Namen des Untermakros ein. Das Ende
eines Untermakros ist entweder das Ende des Gruppenmakros oder ein weite-
rer Eintrag in der Namensspalte (siehe obige Abbildung mit eingeblendeten
Makronamen). Ein Gruppenmakro ist also nichts anderes als eine Zusammen-
fassung mehrerer Untermakros innerhalb eines Fensters. Die Untermakros
behalten trotzdem ihre Selbständigkeit.

Zum Aufruf eines Untermakros muss der Name des Gruppenmakros vorange-
stellt werden.

Syntax: <Gruppenmakroname>.<Untermakroname>.

9.4 Ereignisse
In der Regel werden Makros nicht über das Startsymbol der Symbolleiste ge-
startet, sondern sie werden bestimmten Ereignissen zugeordnet, die bei der
Arbeit mit Formularen oder Berichten auftreten. Diese Ereigniseigenschaften
z.B. von Steuerelementen unterscheiden sich von anderen Eigenschaften da-
durch, dass kein Wert oder Ausdruck eingetragen wird, sondern ein Makro.
Beispiele hierfür wären die Eigenschaften Beim Klicken oder Beim Doppelkli-
cken.

Im Eigenschaftenfenster eines jeden Steuerelements werden in der Kategorie


Ereigniseigenschaften alle zur Verfügung stehenden Ereignisse angezeigt.

- 110 -
Makros

Abbildung 92: Eigenschaften eines Steuerelements (hier das gesamte For-


mular)
Bei den Eigenschaften müssen wir unterscheiden, welchen Objekten sie zuge- Eigenschaften
ordnet werden. Ihre Bedeutung kann durchaus variieren, wenn sie auf der ei-
nen Seite zu Steuerelementen wie Feldern in einem Formular gehören, oder
auf der anderen Seite dem gesamten Formular oder einem Bericht zur Verfü-
gung gestellt werden. Beachten Sie also die entsprechende Ansteuerung (Mar-
kierung) des Objekts. Die Bedeutung der Ereignisse können Sie nach der An-
steuerung im Eigenschaftenfenster der Statuszeile oder über die Online-Hilfe
(<F1>) entnehmen.

Für die Erstellung von Hauptmenüs bieten sich leere Formulare an, in die Sie
Befehlsschaltflächen einfügen. Über den Befehlsschaltflächenassistenten kön-
nen Sie dann die Aktionen wählen, die beim Anklicken der Schaltfläche erfol-
gen sollen. Dies können z.B. auch Makros sein, die über den Punkt Verschie-
denes ausgewählt werden können.

- 111 -
Makros

Abbildung 93: Der Befehlsschaltflächenassistent


Neben Makros können den Ereignissen auch Visual Basic-Programme zuge- Programmie-
ordnet werden. Mit Hilfe der Programmierung können Sie Ihre Anwendung rung
weiter ausbauen. Die Möglichkeiten im Rahmen der VBA-Programmierung
gehen erheblich weiter als die Makros, allerdings setzt dies die Kenntnis der
Programmiersprache voraus. Ein erheblicher Einarbeitungsaufwand ist hiermit
verbunden.

Nach meiner Erfahrung reichen für viele Anwendungen die Möglichkeiten der
Makroprogrammierung aus. Daneben besteht eine enge Verwandtschaft zwi-
schen Makros und Visual Basic-Programmen. Bei vielen Aktionen haben Sie
die Wahl zwischen einem Makrobefehl und einem Visual Basic-Modul. Zum
Kennenlernen von Visual Basic können Sie auch vorhandene Makros in Visu-
al Basic-Code umwandeln. Hierzu gehen Sie folgendermaßen vor:

• Wählen Sie im Datenbankfenster das Makro aus.

• Über den Befehl Datei Speichern unter wandeln Sie das Makro in ein
VBA-Modul um.

- 112 -
Abfrage 15 Datenbank
Bedingungen kombinieren 59 komprimieren 17
Berechnungen 61 maximale Größe 20
Daten ändern 52 Datenbankbegriffe 3
Datenanzeige 58 Datenbankdesign 3
Eigenschaften 67 Datenbankentwurf 5
Entwurf 53 Datenbankfenster 15
Feldauswahl 56 Datenbankobjekte 15
Feldformate 67 Datenbankprogramme 2
Feldnamen 57 Datenbanktheorie 3
Gruppierung 62 Datenblattansicht 21, 42
Parameter 60 Datenblattmodus 16
Sortierung 57 Dateneingabe 43
Spalten ausblenden 57 Datenfelder 15
speichern 58 Datensatz löschen 44
Suchkriterien 58 Datensatz wechseln 44
Tabellennamen anzeigen 58 Datensätze 3, 20
Abfrage-Assistent 53 Datensatzherkunft 82
Abfragefenster 55 Datensatznummer 43
Abfragen 51 Datumsformat 31
Abfragetypen 52 Detailbereich 104
Abstand Detailtabelle 11, 47
horizontal 78 Dezimalstellen 29, 32
vertikal 78 Doppelerfassungen 13, 40
Abstände Double 28
angleichen 78 Dritte Normalform 9
Access Duplikate 68
Anforderungen 1 Dynaset 51
Aggregatfunktionen 62 Eigenschaften
Aktionsabfrage 66 Formular 75
Aktionsabfragen 64 Eigenschaftenfenster 75, 76, 106, 112
Aktualisierungsabfrage 65 Eingabeformat 32
Allgemeine Zahl 28 Entwurfsmodus 16
Anfügeabfrage 65 Equal Join 55
Atomisierung 4 Ereigniseigenschaften 112
Attribute 3 Ereignisse 112
Ausdruckseditor 61 Ersetzen 45
Ausrichtung Erste Normalform 7
Steuerelemente 77 Etiketten 101
Autobericht 101 Excel 2, 70
Autowert 26, 47 Explorer 17
Bedingungen Exponentialzahl 29
Makros 110 Felddatentypen 23
Befehlsschaltflächen 113 Feldeigenschaften 26
Benutzerdefinierte Formate 29 Felder 3, 20
Berechnungen 107 Ausgabeformat 28
Berechnungen im Formular 80 deaktivieren 81
Bericht Feldgröße 27
Aufbau 104 Feldinhalt verändern 43
Berichte 15, 100 Feldliste 80, 106
Layout 103 Feldname 23
Berichtsassistent 100 Feldreihenfolge 91
Berichtsfuß 104 Festkommazahl 29
Berichtskopf 104 Filter 45
Beschriftung 33 auswahlbasiert 98
Bezeichnungsfeld 76, 79 formularbasiert 98
Beziehung speichern 99
Eins-N 11 Spezialfilter 99
M-N 11 flat table 3
Beziehungen 48 Formatierung
bearbeiten 50 Felder 80
Eins- eins 11 Formular
Bildschirmaufbau 18 anlegen 69
Byte 28 Ansichten 69

-I-
Index

Aufbau 74 Normalformen 6
Feldbearbeitung 76 Normalisierung 6
Felderauswahl 71 Nur Listeneinträge 83
Feldreihenfolge 71 Objekt
Steuerelemente markieren 77 duplizieren 18
Formularassistent 70 öffnen 16
Formulare 15, 69 schließen 16
Dateneingabe 97 OLE 2
verknüpfen 96 OLE-Objekt 26
Formularkopf 74 Optionsfeld 86
Formularlayout 72 Optionsgruppe 86
Formularstil 73 Oracle 2
Fremdschlüssel 13 Outer Join 56
Gebundene Spalte 83 Parameter 59, 110
Gleichheitsverknüpfung 55 Parameterabfrage 106
Gruppenberichte 102 Pivot-Tabellen 2, 70
Gruppenfuß 104 Postleitzahlenfeld 31
Gruppenkopf 104 Primärschlüssel 13, 39
Gruppierung 62, 106 Programmierung 114
Gültigkeitsmeldung 34 Prozentzahl 29
Gültigkeitsregel 33 QBE-Entwurfsbereich 55
Gültigkeitsüberprüfung 109 Raster 77
Hauptmenü 113 Rasterlinien 74
Herkunftstyp 82 Rechte Maustaste 18
Hyperlink 26 Records 3
Index 38 Redundanz 4, 6, 7
Inklusionsverknüpfung 56 Referentielle Integrität 11, 47, 49
inkonsistent 4 Register
Integer 28 umbenennen 90
Ja-Nein 26 Registerkarte 89
Karteikasten 3 Register-Steuerelement 89
Kombinationsfeld-Assistent 84 Relation 3
Kombinationsfelder 81 Relationale Datenbank 3
Kombinationsschlüssel 8, 13, 41 ReplicationID 28
Konsistenz 4, 11 Replikate 28
Kontrollkästchen 86 Rückgängig-Funktion 77
Kreuzprodukt 55 Schaltflächen 109
Leere Zeichenfolgen 35 Schlüssel 38
Leerfelder 5 Schlüsselfeld 7
Lineal 74 Schlüsselspalte
Listenbreite 83 ausblenden 85
Listenfelder 81 Seitenansicht 23
Löcher 6 Seitenfuß 104
Long Integer 26, 28 Seitenkopf 104
Löschabfrage 65 Seitenumbrüche 106
Makrogruppe 112 Seitenwechsel 89, 105
Makronamen 112 Seitenzahlen 107
Makros 16, 109 Sekundärschlüssel 13, 40
Mastertabelle 11, 47 Serienbriefe 2
Memo 25 Single 28
Menüleisten 109 Sortieren 45, 99
Mussfeld 35 Sortieren und Gruppieren 106
Nachschlageassistent 26, 35 Sortierung 106
Nachschlagefeld Spalten
Eigenschaften 37 ausblenden 46
Nachschlagefelder 35 Spalten verschieben 45
Nachschlageliste Spaltenbreite 45
sortieren 85 Spaltenbreiten 82
Nachschlagelisten 83 Spaltenkopf 42, 57
Nachschlagetabelle 36 Spaltenüberschriften 82
Namen Speichern 17
Objekte 15 Speicherung
Namenserweiterung 15 Datensatz 44
Navigationssymbole 44 Spitzenwerte 68
Neuer Datensatz 43 SQL 58

- II -
Index

SQL-Server 2 Toolbox 78, 106


Standardwert 33 Transitive Abhängigkeit 9
Standardzahl 28 Tupel 3
Statistische Auswertungen 2 Umschaltfläche 86
Steuerelement-Assistent 81 Unterformular
Steuerelemente 76 Ansichten 94
formatieren 78 Unterformulare 91
Steuerelementinhalt 82 VBA-Modul 114
StopMakro 111 Verknüpfung
Suchen 44 in Abfragen 55
Suchfeld 84 Verknüpfungsfeld 47
Suchschlüssel 13 Verknüpfungsfelder 7
Symbolleisten 19 Verknüpfungstyp 50
Synchronisierung 109 Verküpfungsart 56
Tabelle 3 Visual Basic for Application 1, 16
duplizieren 65 Vorgabewert 33
Tabellen 20 Währung 25, 28
Ansichten 23 Werteliste 36, 82
verknüpfen 47 Wiederholfelder 5, 7
Tabellenassistent 21 Word 2
Tabellendarstellung 46 Zahlenfeld 27
Tabellenentwurf 20, 22 Zeilenhöhe 45
Tabellenerstellungsabfrage 65 Zeilenkopf 42
Tabellenlayout 45 Zeilenzahl 83
Tabellenstruktur Zellhintergrund 46
ändern 41 Zoom 82
Tausenderpunkte 28 Zweite Normalform 8
Textfeld 76, 80 Zwischenablage 18, 42

- III -

You might also like