Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
17
1 Einleitung
21
1.1 Was ist Access?
21
1.1.1 Relationale Datenbank
23
1.1.2 Formulare zum Bearbeiten von Daten
24
1.1.3 Berichte zur Auswertung und zum übersichtlichen Ausdrucken von Daten
25
1.1.4 Programmierung: Optional, zum Beispiel zum Lösen komplexerer Probleme
26
1.1.5 Schnelle Entwicklung kompletter Anwendungsprogramme (»Rapid Development«)
26
1.2 Wie kann eine Datenbank meine Arbeitsprozesse unterstützen?
27
1.2.1 Beispiel einer einfachen Desktop-Datenbank: Mitgliederverwaltung eines Vereins
27
1.2.2 Beispiel einer komplexen Access-Desktop-Datenbank: Erfassung von Mitarbeitern, Flügen und Flugbuchungen
33
1.2.3 Access Web Apps in SharePoint gibt es nicht mehr
37
2 Access als Datenbank: Tabellen
39
2.1 Ein Schnelleinstieg in relationale Datenbanken
39
2.1.1 Eine neue Desktop-Datenbank mit Access erstellen
40
2.1.2 Eine Tabelle in Access erstellen
42
2.1.3 Die Tabelle mit Inhalt füllen
44
2.2 Datenbankdesign
45
2.2.1 Die Welt in Tabellen abbilden
47
2.2.2 Namenskonventionen
49
2.2.3 Der Primärschlüssel
53
2.2.4 Die Tabellenstruktur festlegen
55
2.3 Erstellen von Tabellen
56
2.3.1 Die Entwurfsansicht
56
2.3.2 Der Felddatentyp »Kurzer Text«
62
2.3.3 Der Felddatentyp »Langer Text«
63
2.3.4 Der Felddatentyp »Zahl«
65
2.3.5 Der Felddatentyp »AutoWert«
71
2.3.6 Der Felddatentyp »Datum/Uhrzeit« und »Datum/Uhrzeit erweitert«
73
2.3.7 Der Felddatentyp »Währung«
77
2.3.8 Der Felddatentyp »Ja/Nein«
79
2.3.9 Der Felddatentyp »OLE-Objekt«
79
2.3.10 Andere Felddatentypen
80
2.3.11 Berechnete Felder
81
2.3.12 Feldeinschränkungen
82
2.3.13 Tabelleneinschränkungen
93
2.3.14 Der Nachschlage-Assistent
99
2.4 Ändern von Tabellen
99
2.4.1 Hinzufügen von Feldern
99
2.4.2 Verschieben von Feldern
100
2.4.3 Löschen von Feldern
101
2.4.4 Ändern des Felddatentyps
102
2.4.5 Ändern von Feld- und Tabelleneinschränkungen
103
2.5 Daten in Tabellen
105
2.5.1 Daten eingeben, ändern und löschen
105
2.5.2 Navigationsschaltflächen
109
2.5.3 Die Spaltenbreite eines Feldes anpassen
110
2.5.4 Felder sortieren
110
2.5.5 Felder ein- und ausblenden
110
2.5.6 Felder fixieren
112
2.5.7 Datensätze sortieren
112
2.5.8 Suchfunktionen
116
2.5.9 Datensätze filtern
119
2.6 Formatierungen in Tabellen
128
2.6.1 Format
128
2.6.2 Eingabeformat
143
2.6.3 Beschreibung und Beschriftung
152
2.6.4 Nachschlagen
153
2.7 Beziehungen zwischen Tabellen
155
2.7.1 Die 1:n-Beziehung
155
2.7.2 Die 1:1-Beziehung
159
2.7.3 Die m:n-Beziehung
162
2.7.4 Referenzielle Integrität
165
2.7.5 Übersicht schaffen mit Datenbankdiagrammen
171
2.7.6 Typische Muster von Tabellenbeziehungen
178
2.8 Durch die Normalformen das Datenbankdesign verbessern
186
2.8.1 Die nicht normalisierte Form
187
2.8.2 Die erste Normalform (1NF)
187
2.8.3 Die zweite Normalform (2NF)
190
2.8.4 Die dritte Normalform (3NF)
195
2.8.5 Die Boyce-Codd-Normalform (BCNF)
199
2.8.6 Die vierte Normalform (4NF)
203
2.8.7 Weitere Normalformen
205
2.8.8 Zweckmäßiges Datenbankdesign
207
2.9 Indizes
211
2.9.1 Automatisch generierte Tabellenindizes
211
2.9.2 Eindeutiger Schlüssel (Alternativschlüssel)
214
2.9.3 Erstellen eines Indexes
217
2.9.4 Löschen eines Indexes
220
2.10 Besondere Tabellen
221
2.10.1 Versteckte Datenbankobjekte
221
2.10.2 Systemtabellen (»MSys«) und Usertabellen (»USys«)
222
2.10.3 Das Verzeichnis aller Datenbankobjekte: »MSysObjects«
223
3 Daten filtern, sortieren und zusammenfassen: Abfragen
225
3.1 Einfache Abfragen
225
3.1.1 Vertikales Filtern – Felder auswählen
227
3.1.2 Horizontales Filtern – Datensätze auswählen
232
3.1.3 Der Umgang mit NULL-Werten
241
3.1.4 Mehrere Filterkriterien verwenden
242
3.1.5 Datensätze sortieren
247
3.2 Auswerten von Daten eines Datensatzes: Berechnete Felder
251
3.2.1 Einfache Operationen für Zahlenfelder
252
3.2.2 Aneinanderreihen von Textfeldern
255
3.2.3 Grundsätzliches zu Funktionen
255
3.2.4 Funktionen für Textfelder
257
3.2.5 Funktionen für Zahlenfelder
258
3.2.6 Funktionen für Datumsfelder
260
3.2.7 Konvertieren des Felddatentyps
262
3.2.8 Einfache Fallunterscheidungen
265
3.2.9 Parameter in Abfragen
268
3.3 Zusammenfassen von Datensätzen: Gruppierung und Aggregieren
272
3.3.1 Datensätze zu Gruppen zusammenfassen
273
3.3.2 Die Anzahl der Datensätze pro Gruppe
275
3.3.3 Alle Zahlen einer Gruppe summieren
277
3.3.4 Den Minimal- und Maximalwert aller Zahlen einer Gruppe ermitteln
278
3.3.5 Mittelwert, Varianz und Standardabweichung aller Zahlen einer Gruppe
279
3.3.6 Datensätze vor dem Zusammenfassen filtern – Filter auf die Rohdaten
280
3.3.7 Datensätze nach dem Zusammenfassen filtern – Filter auf das Ergebnis
282
3.3.8 Kreuztabellenabfrage
283
3.4 Abfragen von Daten aus mehreren Tabellen
288
3.4.1 Unterdatenblätter
289
3.4.2 Passende Datensätze zusammenbringen: Abfragen mit INNER-JOIN-Verknüpfung
291
3.4.3 Jeder Datensatz mit jedem gepaart: Das kartesische Produkt
296
3.4.4 Wenn vorhanden, dann nur passende Datensätze zusammen: Abfragen mit OUTER-JOIN-Verknüpfung
297
3.4.5 Abfragen mit mehr als zwei Tabellen
301
3.5 Aktionsabfragen
305
3.5.1 Anfügeabfragen
307
3.5.2 Löschabfragen
311
3.5.3 Aktualisierungsabfragen
314
3.6 Workshops zum Normalisieren von Daten
320
3.6.1 Die Haupttabelle einer 1:n-Beziehung füllen
321
3.6.2 Die Suche nach Inkonsistenzen
325
3.6.3 Inkonsistenzen beheben
329
3.6.4 Dublettensuche
332
4 Access und die Verbindungen zur Außenwelt
333
4.1 Wann braucht man Datenverbindungen?
333
4.1.1 Eine Access-Datenbank als Insel-Lösung verwenden
335
4.1.2 Import und Export von Daten
337
4.1.3 Verbundene Datenquellen
339
4.1.4 Verteilte Datenquellen – »Datawarehouse« und »Datamining«
342
4.2 Export von Daten
343
4.2.1 Export über die Zwischenablage
343
4.2.2 Export in eine andere Access-Datenbank
346
4.2.3 Export nach Excel
347
4.2.4 Export nach Word
349
4.2.5 Export als PDF- oder XPS-Datei
351
4.2.6 Export in eine Textdatei
353
4.2.7 Export in eine HTML-Datei
359
4.2.8 Export in eine dBASE-Datei
361
4.2.9 Export in eine XML-Datei
364
4.2.10 Daten als E-Mail versenden
369
4.2.11 Export als SharePoint-Liste
370
4.2.12 Gespeicherte Exporte
372
4.3 Zugriff auf eine Access-Desktop-Datenbank aus anderen Programmen
376
4.3.1 Öffnen einer Access-Tabelle in Excel
376
4.3.2 Serienbriefe in Word erstellen
381
4.3.3 Zugriff auf eine Access-Datenbank vom Microsoft SQL Server aus
386
4.4 Import von Daten
393
4.4.1 Import aus einer anderen Access-Datenbank
394
4.4.2 Importfehler
396
4.4.3 Import eines Outlook-Ordners
400
4.4.4 Import aus einer XML-Datei
403
4.4.5 Import aus einer dBASE-Datei
407
4.4.6 Daten per E-Mail sammeln
408
4.4.7 Import einer SharePoint-Liste
409
4.4.8 Datendienste nutzen
410
4.4.9 Gespeicherte Importe
411
4.5 Workshops zum Import von Daten
411
4.5.1 Workshop: Einmaliger Import von Daten
412
4.5.2 Workshop: Regelmäßiger Datenabgleich per Import
417
4.5.3 Workshop: Import einer Tabelle mit fehlenden Daten
429
4.6 Anbindung externer Datenquellen: Verknüpfen von Tabellen
461
4.6.1 Eine Tabelle aus einer anderen Access-Datenbank verknüpfen
461
4.6.2 Trennung von Daten und Anwendung
463
4.6.3 Aktualisieren von Tabellenverknüpfungen
466
4.6.4 Andere Dateiformate verknüpfen
468
4.6.5 Eine SharePoint-Liste verknüpfen
470
4.7 Was sind Server-Datenbanken?
471
4.7.1 Vor- und Nachteile gegenüber Access
471
4.7.2 Häufig eingesetzte Datenbank-Server
474
4.7.3 Eine Tabelle über die ODBC-Schnittstelle verknüpfen
475
4.7.4 Optimierung der Client-Server-Anwendung
487
4.7.5 Access-Projekte
488
4.8 Workshops zum SQL Server
489
4.8.1 Workshop: Tabellen im SQL Server erstellen und in Access nutzen
489
4.8.2 Workshop: Datenbankdesign auf dem SQL Server
499
4.8.3 Workshop: Eine bestehende Access-Datenbank auf den SQL Server migrieren
505
5 SQL – die Programmiersprache für Datenbanken
511
5.1 Warum SQL lernen?
511
5.1.1 Voraussetzungen für dieses Kapitel
511
5.1.2 Der grafische Abfrage-Editor und SQL
512
5.2 Daten abfragen: SELECT
512
5.2.1 Abfragen von Daten aus einer Tabelle
514
5.2.2 Datensätze filtern
518
5.2.3 Datensätze sortieren
521
5.2.4 Parameter in Abfragen
522
5.2.5 Berechnete Felder
523
5.2.6 Abfragen von Daten aus mehreren Tabellen
524
5.3 Gruppierung und Aggregieren
531
5.3.1 GROUP BY
531
5.3.2 Aggregatfunktionen
532
5.3.3 HAVING
533
5.4 Unterabfragen
535
5.4.1 In der SELECT-Klausel anstelle eines Tabellenfeldes
535
5.4.2 In der FROM-Klausel anstelle einer Tabelle
538
5.4.3 In der WHERE-Klausel
540
5.4.4 In der ORDER-BY-Klausel anstelle eines Tabellenfeldes
545
5.5 Aktionsabfragen: Data Manipulation Language (DML)
545
5.5.1 INSERT INTO
546
5.5.2 SELECT … INTO
549
5.5.3 DELETE
550
5.5.4 UPDATE
551
5.6 Datenbankobjekte verändern: Data Definition Language (DDL)
553
5.6.1 CREATE TABLE
554
5.6.2 ALTER TABLE
555
5.6.3 DROP TABLE
555
5.6.4 CREATE INDEX
556
5.6.5 DROP INDEX
556
5.7 Besondere Abfragen
556
5.7.1 UNION-Abfragen
556
5.7.2 Pass-through-Abfragen
559
6 Formulare
563
6.1 Formulare entwerfen
563
6.1.1 Ein einfaches Formular in der Entwurfsansicht erstellen
563
6.1.2 Datensatzquelle
564
6.1.3 Einen Datensatz in der Formularansicht bearbeiten
566
6.1.4 Formulare als Registerblätter oder als Fenster
566
6.1.5 Welche Ansichten von Formularen gibt es?
568
6.1.6 Navigationsschaltflächen
569
6.1.7 Datensatzmarkierer
573
6.2 Arbeiten mit Steuerelementen
574
6.2.1 Hinzufügen und bearbeiten
574
6.2.2 Anpassen von Größe und Abstand
584
6.2.3 Ausrichten
586
6.2.4 Visuelles Erscheinungsbild
588
6.2.5 Aktivieren und deaktivieren
590
6.2.6 Formatierungen
594
6.2.7 Bedingte Formatierungen
596
6.2.8 Datenbalken
598
6.2.9 Reihenfolge der Aktivierung
599
6.2.10 Gruppierung von Steuerelementen
600
6.3 Die verschiedenen Steuerelemente
601
6.3.1 Welche Steuerelemente gibt es?
601
6.3.2 Steuerelemente für Text
603
6.3.3 Auswahl Ja/Nein
607
6.3.4 Auswahl aus verschiedenen Optionen
610
6.3.5 Auswahl aus einer Liste
622
6.3.6 Grafik-Steuerelemente
629
6.3.7 Diagramme generieren
650
6.3.8 Internetfunktionen
658
6.3.9 Andere Steuerelemente
662
6.4 Mit Layouts in Formularen arbeiten
668
6.4.1 Layout- und Entwurfsansicht
669
6.4.2 Layout hinzufügen
670
6.4.3 Den Layoutbereich anpassen
672
6.4.4 Layout entfernen
674
6.4.5 Layout ähnlich einer Tabelle: Formularkopf und Formularfuß
675
6.4.6 Abstand und Gitternetzlinien
677
6.4.7 Steuerelemente verankern
678
6.5 Formulartypen
681
6.5.1 Das gebundene Standardformular
682
6.5.2 Das ungebundene Standardformular
683
6.5.3 Das Endlosformular
684
6.5.4 Das geteilte Formular
687
6.5.5 Das einfache Popup-Formular
689
6.5.6 Das modale Popup-Formular
690
6.5.7 Nicht mehr unterstützte Formulartypen
692
6.6 Arbeiten mit mehreren Formularen
692
6.6.1 Zugriff auf Daten in anderen Formularen
693
6.6.2 Unterformulare
704
6.6.3 Synchronisieren von Unterformularen
707
6.6.4 Das Navigationssteuerelement
712
6.7 Formulare aus einer Vorlage erstellen
715
6.7.1 Formularvorlagen
715
6.7.2 Anwendungsparts
716
6.8 Workshops zu Formularen
718
6.8.1 Workshop: Formulare und Unterformulare im Zusammenspiel
718
6.8.2 Workshop: Eine individuelle Eingabe-Dialogbox
726
6.8.3 Workshop: Platzreservierung
739
7 Berichte
749
7.1 Berichte entwerfen
749
7.1.1 Einen einfachen Bericht in der Entwurfsansicht erstellen
749
7.1.2 Die Datensatzquelle
751
7.1.3 Steuerelemente in Berichten
753
7.1.4 Unterberichte
758
7.2 Arbeiten mit Layouts in Berichten
763
7.2.1 Layout hinzufügen
763
7.2.2 Unterschiede zu Formularen
764
7.3 Ansichten eines Berichts
764
7.3.1 Die Seitenansicht
766
7.3.2 Direktes Drucken eines Berichts
768
7.3.3 Die Berichtsansicht
769
7.3.4 Einen Bericht als PDF- oder XPS-Datei exportieren
770
7.4 Bereiche in Berichten
771
7.4.1 Kopf- und Fußbereich
771
7.4.2 Ebenen zur Gruppierung
775
7.4.3 Seitenumbrüche setzen
789
7.4.4 Gruppen zusammenhalten und Abstände richtig setzen
790
7.4.5 Sich wiederholende Einträge ausblenden
792
7.4.6 Laufende Summen und Gesamtsummen
794
7.5 Berichte mit mehreren Spalten
796
7.5.1 Etiketten mit dem Assistenten erstellen
796
7.5.2 Mehrere Spalten einrichten
797
7.5.3 Der Seitenkopf für mehrere Spalten
801
7.6 Workshops zu Berichten
804
7.6.1 Workshop: Summen und Prozentsätze
804
7.6.2 Workshop: Filterformulare für Berichte
811
7.6.3 Workshop: Bericht in eine HTML-Datei exportieren
815
8 Einfache Programmierung mit Makros
819
8.1 Makros
819
8.1.1 Aktionen
820
8.1.2 Unsichere Aktionen und vertrauenswürdige Datenbanken
823
8.1.3 Kommentare im Makro
831
8.1.4 Fallunterscheidungen
831
8.1.5 Gruppieren und Untermakros
836
8.2 Auf Ereignisse reagieren
837
8.2.1 Ereignisse von Formularen
838
8.2.2 Ereignisse von Steuerelementen
842
8.2.3 Mit dem Zeitgeber arbeiten (Timer)
844
8.2.4 Ereignisse eines Berichts
844
8.2.5 Eingebettete Makros
846
8.3 Besondere Makros
847
8.3.1 Datenmakros (Trigger)
847
8.3.2 »AutoExec« startet beim Öffnen der Datenbank
852
8.3.3 Tastaturkürzel in »AutoKeys«
852
9 Visual Basic for Applications (VBA), die Programmiersprache für Microsoft-Office-Anwendungen
855
9.1 Warum VBA lernen?
855
9.1.1 Voraussetzungen für dieses Kapitel
856
9.1.2 Die Zukunft von VBA
856
9.2 Formulare bereichern
857
9.2.1 Auf Ereignisse reagieren
857
9.2.2 Kommentare im Code
860
9.2.3 Berechnungen und Formeln
860
9.2.4 Fallunterscheidungen
861
9.2.5 Meldungen am Bildschirm anzeigen: »MsgBox«
864
9.2.6 Befehle, die über mehrere Zeilen reichen
866
9.3 Die integrierte Entwicklungsumgebung
867
9.3.1 Ansicht im Codefenster
867
9.3.2 Mit dem Objektkatalog und dem Projekt-Explorer die Übersicht behalten
870
9.3.3 VBA-Code im Direktbereich ausführen
873
9.3.4 Programme starten
874
9.3.5 Haltepunkte und Debug-Modus
875
9.4 Daten im Speicher verarbeiten
877
9.4.1 Variablen
878
9.4.2 Konstanten
885
9.4.3 Eingaben vom Anwender abfragen: »InputBox()«
887
9.4.4 Statische Variablen
889
9.4.5 Arrays
889
9.4.6 Dynamische Arrays
890
9.5 Kontrollstrukturen: Verzweigungen und Wiederholungen
891
9.5.1 Bedingungen und Fallunterscheidungen
892
9.5.2 Fallauswahl
893
9.5.3 Schleifen
893
9.5.4 Iteration
898
9.5.5 Sprungbefehle und Sprungmarken
898
9.6 Module
899
9.6.1 Ein Modul erstellen und bearbeiten
900
9.6.2 Prozeduren
900
9.6.3 Funktionen
903
9.6.4 Parameter
911
9.6.5 Gültigkeitsbereiche
921
9.6.6 Variablen auf Modulebene und globale Variablen
925
9.7 Klassenmodule
927
9.7.1 Ein eigenständiges Klassenmodul erstellen und bearbeiten
929
9.7.2 Objektvariablen
933
9.7.3 Eigenschaften (Propertys)
940
9.7.4 Der Befehl »With«
947
9.7.5 Auflistungen (Collections)
949
9.8 Fehlerbehandlung
956
9.8.1 Auf Laufzeitfehler reagieren
956
9.8.2 Die Behandlung von Fehlern
961
9.8.3 Eigene Laufzeitfehler auslösen
962
9.8.4 Zentrale Fehlerbehandlung
963
10 Die Data-Access-Objects-(DAO-)Klassenbibliothek
965
10.1 Daten abfragen: »Recordset«-Objekte
966
10.1.1 Lesend auf eine Tabelle zugreifen
966
10.1.2 Einen Datensatz suchen
971
10.1.3 Domänenfunktionen – Datenabfrage in einer Zeile
972
10.1.4 Datensätze verändern
974
10.1.5 Abfragen erstellen und als Datensatzquelle nutzen
975
10.2 Aktionsabfragen ausführen
978
10.2.1 Bestehende Aktionsabfragen aufrufen
978
10.2.2 SQL-Code direkt ausführen
980
10.3 Transaktionen
980
10.3.1 Eine Transaktion starten und abschließen
981
10.3.2 Änderungen doch nicht durchführen: Rollback
983
10.4 Andere Klassenbibliotheken
984
10.4.1 Referenzen definieren
985
10.4.2 Word-Dokumente bearbeiten
986
10.4.3 Daten aus einer Excel-Tabelle gezielt auslesen
988
10.4.4 ActiveX Data Objects (ADO)
989
10.4.5 Zugriff auf das Windows-Betriebssystem
990
11 Anwendungsprogramme mit Access erstellen
993
11.1 Wichtige Elemente eines Anwendungsprogramms
994
11.1.1 Start der Anwendung
994
11.1.2 Formen des Hauptmenüs
995
11.1.3 Das Menüband
998
11.2 Zugriffsberechtigungen
1005
11.2.1 Benutzer, Gruppen und Zugriffsberechtigungen in ».mdb«-Dateien
1005
11.2.2 Das Verschlüsseln der Datenbank
1014
11.2.3 Erstellen einer ».accde«-Datei
1015
11.3 Ohne Access mit Datenbank-Dateien arbeiten: Die Access Runtime
1016
11.3.1 Installation der Access Runtime
1017
11.3.2 Workshop: Eine Datenbank Runtime-fähig machen
1019
11.3.3 Workshop: Anwendungsprogramm mit Backend-Datenbank
1025
11.4 Die Grenzen der Möglichkeiten in Access – Beyond the Limits
1030
Anhang
1035
A.1 Microsoft SQL Server
1035
A.1.1 Installationsdateien herunterladen
1035
A.1.2 Die SQL Server Express Edition installieren
1037
A.1.3 Arbeiten nach der Installation
1046
A.1.4 SQL Server Management Studio: Das universelle Werkzeug zur Verwaltung des SQL Servers
1052
A.1.5 Eine Datenbank im SQL Server erstellen
1058
A.1.6 Datenbank trennen und wieder anfügen
1062
A.1.7 Datensicherung einer Datenbank des SQL Servers
1065
A.1.8 Authentifizierung und Berechtigungen
1066
Index
1077