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
28
1.2.2 Beispiel einer komplexen Access-Desktop-Datenbank: Erfassung von Mitarbeitern, Flügen und Flugbuchungen
32
1.2.3 Access Web Apps in SharePoint gibt es nicht mehr
36
2 Access als Datenbank: Tabellen
37
2.1 Ein Schnelleinstieg in relationale Datenbanken
37
2.1.1 Eine neue Desktop-Datenbank mit Access erstellen
38
2.1.2 Eine Tabelle in Access erstellen
40
2.1.3 Die Tabelle mit Inhalt füllen
42
2.2 Datenbankdesign
43
2.2.1 Die Welt in Tabellen abbilden
44
2.2.2 Namenskonventionen
46
2.2.3 Der Primärschlüssel
51
2.2.4 Die Tabellenstruktur festlegen
53
2.3 Erstellen von Tabellen
54
2.3.1 Die Entwurfsansicht
54
2.3.2 Felddatentyp »Kurzer Text«
60
2.3.3 Felddatentyp »Langer Text«
61
2.3.4 Felddatentyp »Zahl«
63
2.3.5 Felddatentyp »AutoWert«
68
2.3.6 Felddatentyp »Datum/Uhrzeit«
69
2.3.7 Felddatentyp »Währung«
73
2.3.8 Felddatentyp »Ja/Nein«
74
2.3.9 Felddatentyp »OLE-Objekt«
75
2.3.10 Andere Felddatentypen
75
2.3.11 Berechnete Felder
76
2.3.12 Feldeinschränkungen
78
2.3.13 Tabelleneinschränkungen
88
2.3.14 Der Nachschlage-Assistent
94
2.4 Ändern von Tabellen
94
2.4.1 Hinzufügen von Feldern
94
2.4.2 Verschieben von Feldern
96
2.4.3 Löschen von Feldern
96
2.4.4 Ändern des Felddatentyps
98
2.4.5 Ändern von Feld- und Tabelleneinschränkungen
99
2.5 Daten in Tabellen
100
2.5.1 Daten eingeben, ändern und löschen
100
2.5.2 Navigationsschaltflächen
105
2.5.3 Die Spaltenbreite eines Feldes anpassen
105
2.5.4 Felder sortieren
106
2.5.5 Felder ein- und ausblenden
106
2.5.6 Felder fixieren
107
2.5.7 Datensätze sortieren
108
2.5.8 Suchfunktionen
111
2.5.9 Datensätze filtern
114
2.6 Formatierungen in Tabellen
123
2.6.1 Format
124
2.6.2 Eingabeformat
138
2.6.3 Beschreibung und Beschriftung
147
2.6.4 Nachschlagen
147
2.7 Beziehungen zwischen Tabellen
150
2.7.1 1:n-Beziehung
150
2.7.2 1:1-Beziehung
153
2.7.3 m:n-Beziehung
156
2.7.4 Referentielle Integrität
159
2.7.5 Übersicht schaffen mit Datenbankdiagrammen
165
2.7.6 Typische Muster von Tabellenbeziehungen
172
2.8 Durch die Normalformen das Datenbankdesign verbessern
180
2.8.1 Die nicht normalisierte Form
181
2.8.2 Die erste Normalform (1NF)
181
2.8.3 Die zweite Normalform (2NF)
183
2.8.4 Die dritte Normalform (3NF)
189
2.8.5 Die Boyce-Codd-Normalform (BCNF)
193
2.8.6 Die vierte Normalform (4NF)
196
2.8.7 Weitere Normalformen
199
2.8.8 Zweckmäßiges Datenbankdesign
201
2.9 Indizes
205
2.9.1 Automatisch generierte Tabellenindizes
205
2.9.2 Eindeutiger Schlüssel (Alternativschlüssel)
208
2.9.3 Erstellen eines Indexes
211
2.9.4 Löschen eines Indexes
214
2.10 Besondere Tabellen
215
2.10.1 Versteckte Datenbankobjekte
215
2.10.2 Systemtabellen (»MSys«) und Usertabellen (»USys«)
216
2.10.3 Das Verzeichnis aller Datenbankobjekte: »MSysObjects«
217
3 Daten filtern, sortieren und zusammenfassen: Abfragen
219
3.1 Einfache Abfragen
219
3.1.1 Vertikales Filtern - Felder auswählen
221
3.1.2 Horizontales Filtern - Datensätze auswählen
226
3.1.3 Umgang mit NULL-Werten
235
3.1.4 Mehrere Filterkriterien verwenden
236
3.1.5 Datensätze sortieren
240
3.2 Auswerten von Daten eines Datensatzes: Berechnete Felder
245
3.2.1 Einfache Operationen für Zahlenfelder
246
3.2.2 Aneinanderreihen von Textfeldern
249
3.2.3 Grundsätzliches zu Funktionen
249
3.2.4 Funktionen für Textfelder
251
3.2.5 Funktionen für Zahlenfelder
252
3.2.6 Funktionen für Datumsfelder
254
3.2.7 Konvertieren des Felddatentyps
256
3.2.8 Einfache Fallunterscheidungen
259
3.2.9 Parameter in Abfragen
262
3.3 Zusammenfassen von Datensätzen: Gruppierung und Aggregieren
266
3.3.1 Datensätze zu Gruppen zusammenfassen
268
3.3.2 Die Anzahl der Datensätze pro Gruppe
269
3.3.3 Alle Zahlen einer Gruppe summieren
271
3.3.4 Minimal- und Maximalwert aller Zahlen einer Gruppe
272
3.3.5 Mittelwert, Varianz und Standardabweichung aller Zahlen einer Gruppe
273
3.3.6 Datensätze vor dem Zusammenfassen filtern - Filter auf die Rohdaten
274
3.3.7 Datensätze nach dem Zusammenfassen filtern - Filter auf das Ergebnis
276
3.3.8 Kreuztabellenabfrage
278
3.4 Abfragen von Daten aus mehreren Tabellen
282
3.4.1 Unterdatenblätter
283
3.4.2 Passende Datensätze zusammenbringen: Abfragen mit INNER-JOIN-Verknüpfung
285
3.4.3 Jeder Datensatz mit jedem gepaart: Das kartesische Produkt
289
3.4.4 Wenn vorhanden, dann nur passende Datensätze zusammen: Abfragen mit OUTER-JOIN-Verknüpfung
291
3.4.5 Abfragen mit mehr als zwei Tabellen
295
3.5 Aktionsabfragen
299
3.5.1 Anfügeabfragen
301
3.5.2 Löschabfragen
305
3.5.3 Aktualisierungsabfragen
308
3.6 Workshops zum Normalisieren von Daten
315
3.6.1 Die Haupttabelle einer 1:n-Beziehung füllen
315
3.6.2 Die Suche nach Inkonsistenzen
320
3.6.3 Inkonsistenzen beheben
323
3.6.4 Dublettensuche
326
4 Access und die Verbindungen zur Außenwelt
329
4.1 Wann braucht man Datenverbindungen?
329
4.1.1 Eine Access-Datenbank als Insel-Lösung verwenden
331
4.1.2 Import und Export von Daten
333
4.1.3 Verbundene Datenquellen
336
4.1.4 Verteilte Datenquellen - »Datawarehouse« und »Datamining«
338
4.2 Export von Daten
339
4.2.1 Export über die Zwischenablage
339
4.2.2 Export in eine andere Access-Datenbank
342
4.2.3 Export nach Excel
343
4.2.4 Export nach Word
345
4.2.5 Export als PDF- oder XPS-Datei
347
4.2.6 Export in eine Textdatei
349
4.2.7 Export in eine HTML-Datei
355
4.2.8 Export in eine dBASE-Datei
357
4.2.9 Export in eine XML-Datei
360
4.2.10 Daten als E-Mail versenden
365
4.2.11 Export als SharePoint-Liste
366
4.2.12 Gespeicherte Exporte
368
4.3 Zugriff auf eine Access-Desktop-Datenbank aus anderen Programmen
372
4.3.1 Öffnen einer Access-Tabelle in Excel
372
4.3.2 Serienbriefe in Word erstellen
377
4.3.3 Zugriff auf eine Access-Datenbank vom Microsoft SQL Server aus
382
4.4 Import von Daten
389
4.4.1 Import aus einer anderen Access-Datenbank
390
4.4.2 Importfehler
392
4.4.3 Import eines Outlook-Ordners
397
4.4.4 Import aus einer XML-Datei
401
4.4.5 Import aus einer dBASE-Datei
404
4.4.6 Daten per E-Mail sammeln
406
4.4.7 Import einer SharePoint-Liste
406
4.4.8 Datendienste nutzen
408
4.4.9 Gespeicherte Importe
408
4.5 Workshops zum Import von Daten
409
4.5.1 Workshop: Einmaliger Import von Daten
410
4.5.2 Workshop: Regelmäßiger Datenabgleich per Import
415
4.5.3 Workshop: Import einer Tabelle mit fehlenden Daten
426
4.6 Anbindung externer Datenquellen: Verknüpfen von Tabellen
458
4.6.1 Eine Tabelle aus einer anderen Access-Datenbank verknüpfen
458
4.6.2 Trennung von Daten und Anwendung
460
4.6.3 Aktualisieren von Tabellenverknüpfungen
463
4.6.4 Andere Dateiformate verknüpfen
465
4.6.5 Eine SharePoint-Liste verknüpfen
467
4.7 Was sind Server-Datenbanken?
468
4.7.1 Vor- und Nachteile gegenüber Access
469
4.7.2 Häufig eingesetzte Datenbank-Server
472
4.7.3 Eine Tabelle über die ODBC-Schnittstelle verknüpfen
473
4.7.4 Optimierung der Client-Server-Anwendung
484
4.7.5 Access-Projekte
485
4.8 Workshops zum SQL Server
487
4.8.1 Workshop: Tabellen im SQL Server erstellen und in Access nutzen
487
4.8.2 Workshop: Datenbankdesign auf dem SQL Server
497
4.8.3 Workshop: Eine bestehende Access-Datenbank auf den SQL Server migrieren
503
5 SQL - die Programmiersprache für Datenbanken
509
5.1 Warum SQL lernen?
509
5.1.1 Voraussetzungen für dieses Kapitel
509
5.1.2 Der grafische Abfrage-Editor und SQL
510
5.2 Daten abfragen: SELECT
510
5.2.1 Abfragen von Daten aus einer Tabelle
511
5.2.2 Datensätze filtern
516
5.2.3 Datensätze sortieren
519
5.2.4 Parameter in Abfragen
520
5.2.5 Berechnete Felder
521
5.2.6 Abfragen von Daten aus mehreren Tabellen
521
5.3 Gruppierung und Aggregieren
528
5.3.1 GROUP BY
528
5.3.2 Aggregatfunktionen
529
5.3.3 HAVING
531
5.4 Unterabfragen
532
5.4.1 In der SELECT-Klausel anstelle eines Tabellenfeldes
533
5.4.2 In der FROM-Klausel anstelle einer Tabelle
536
5.4.3 In der WHERE-Klausel
537
5.4.4 In der ORDER-BY-Klausel anstelle eines Tabellenfeldes
542
5.5 Aktionsabfragen: Data Manipulation Language (DML)
543
5.5.1 INSERT INTO
544
5.5.2 SELECT ... INTO
546
5.5.3 DELETE
547
5.5.4 UPDATE
549
5.6 Datenbankobjekte verändern: Data Definition Language (DDL)
550
5.6.1 CREATE TABLE
551
5.6.2 ALTER TABLE
552
5.6.3 DROP TABLE
553
5.6.4 CREATE INDEX
553
5.6.5 DROP INDEX
554
5.7 Besondere Abfragen
554
5.7.1 UNION-Abfragen
554
5.7.2 Pass-through-Abfragen
557
6 Formulare
559
6.1 Formulare entwerfen
559
6.1.1 Ein einfaches Formular in der Entwurfsansicht erstellen
559
6.1.2 Datensatzquelle
560
6.1.3 Einen Datensatz in der Formularansicht bearbeiten
562
6.1.4 Formulare als Registerblätter oder als Fenster
562
6.1.5 Welche Ansichten von Formularen gibt es?
564
6.1.6 Navigationsschaltflächen
565
6.1.7 Datensatzmarkierer
569
6.2 Arbeiten mit Steuerelementen
570
6.2.1 Hinzufügen und bearbeiten
570
6.2.2 Anpassen von Größe und Abstand
580
6.2.3 Ausrichten
583
6.2.4 Visuelles Erscheinungsbild
584
6.2.5 Aktivieren und deaktivieren
587
6.2.6 Formatierungen
590
6.2.7 Bedingte Formatierungen
592
6.2.8 Datenbalken
595
6.2.9 Reihenfolge der Aktivierung
596
6.2.10 Gruppierung von Steuerelementen
597
6.3 Die verschiedenen Steuerelemente
597
6.3.1 Welche Steuerelemente gibt es?
598
6.3.2 Steuerelemente für Text
599
6.3.3 Auswahl Ja/Nein
603
6.3.4 Auswahl aus verschiedenen Optionen
606
6.3.5 Auswahl aus einer Liste
619
6.3.6 Grafik-Steuerelemente
626
6.3.7 Diagramme generieren
647
6.3.8 Internetfunktionen
655
6.3.9 Andere Steuerelemente
659
6.4 Arbeiten mit Layouts in Formularen
666
6.4.1 Layout- und Entwurfsansicht
667
6.4.2 Layout hinzufügen
668
6.4.3 Den Layoutbereich anpassen
670
6.4.4 Layout entfernen
672
6.4.5 Layout ähnlich einer Tabelle: Formularkopf und Formularfuß
673
6.4.6 Abstand und Gitternetzlinien
674
6.4.7 Steuerelemente verankern
675
6.5 Formulartypen
679
6.5.1 Das gebundene Standardformular
680
6.5.2 Das ungebundene Standardformular
680
6.5.3 Das Endlosformular
681
6.5.4 Das geteilte Formular
684
6.5.5 Das einfache Popup-Formular
686
6.5.6 Das modale Popup-Formular
687
6.5.7 Nicht mehr unterstützte Formulartypen
689
6.6 Arbeiten mit mehreren Formularen
689
6.6.1 Zugriff auf Daten in anderen Formularen
690
6.6.2 Unterformulare
701
6.6.3 Synchronisieren von Unterformularen
704
6.6.4 Das Navigationssteuerelement
709
6.7 Formulare aus einer Vorlage erstellen
712
6.7.1 Formularvorlagen
712
6.7.2 Anwendungsparts
713
6.8 Workshops zu Formularen
715
6.8.1 Workshop: Formulare und Unterformulare im Zusammenspiel
715
6.8.2 Workshop: Eine individuelle Eingabe-Dialogbox
723
6.8.3 Workshop: Platzreservierung
736
7 Berichte
745
7.1 Berichte entwerfen
745
7.1.1 Einen einfachen Bericht in der Entwurfsansicht erstellen
745
7.1.2 Datensatzquelle
747
7.1.3 Steuerelemente in Berichten
749
7.1.4 Unterberichte
754
7.2 Arbeiten mit Layouts in Berichten
759
7.2.1 Layout hinzufügen
759
7.2.2 Unterschiede zu Formularen
760
7.3 Ansichten eines Berichts
760
7.3.1 Seitenansicht
762
7.3.2 Direktes Drucken eines Berichts
764
7.3.3 Berichtsansicht
765
7.3.4 Einen Bericht als PDF- oder XPS-Datei exportieren
766
7.4 Bereiche in Berichten
767
7.4.1 Kopf- und Fußbereich
767
7.4.2 Ebenen zur Gruppierung
771
7.4.3 Seitenumbrüche setzen
785
7.4.4 Gruppen zusammenhalten und Abstände richtig setzen
786
7.4.5 Wiederholende Einträge ausblenden
788
7.4.6 Laufende Summen und Gesamtsummen
790
7.5 Berichte mit mehreren Spalten
792
7.5.1 Etiketten mit dem Assistenten erstellen
792
7.5.2 Mehrere Spalten einrichten
793
7.5.3 Der Seitenkopf für mehrere Spalten
797
7.6 Workshops zu Berichten
800
7.6.1 Workshop: Summen und Prozentsätze
800
7.6.2 Workshop: Filterformulare für Berichte
807
7.6.3 Workshop: Bericht in eine HTML-Datei exportieren
811
8 Einfache Programmierung mit Makros
815
8.1 Makros
815
8.1.1 Aktionen
816
8.1.2 Unsichere Aktionen und vertrauenswürdige Datenbanken
820
8.1.3 Kommentare im Makro
827
8.1.4 Fallunterscheidungen
827
8.1.5 Gruppieren und Untermakros
832
8.2 Auf Ereignisse reagieren
834
8.2.1 Ereignisse von Formularen
835
8.2.2 Ereignisse von Steuerelementen
838
8.2.3 Mit dem Zeitgeber arbeiten (Timer)
840
8.2.4 Ereignisse eines Berichts
840
8.2.5 Eingebettete Makros
842
8.3 Besondere Makros
843
8.3.1 Datenmakros (Trigger)
843
8.3.2 »AutoExec« startet beim Öffnen der Datenbank
848
8.3.3 Tastaturkürzel in »AutoKeys«
849
9 Visual Basic for Applications (VBA), die Programmiersprache für Microsoft-Office-Anwendungen
851
9.1 Warum VBA lernen?
851
9.1.1 Voraussetzungen für dieses Kapitel
852
9.1.2 Die Zukunft von VBA
852
9.2 Formulare bereichern
853
9.2.1 Auf Ereignisse reagieren
853
9.2.2 Kommentare im Code
856
9.2.3 Berechnungen und Formeln
856
9.2.4 Fallunterscheidungen
857
9.2.5 Meldungen am Bildschirm anzeigen: »MsgBox«
859
9.2.6 Befehle, die über mehrere Zeilen reichen
862
9.3 Die integrierte Entwicklungsumgebung
863
9.3.1 Ansicht im Codefenster
863
9.3.2 Übersicht halten mit dem Objektkatalog und dem Projekt-Explorer
866
9.3.3 VBA-Code im Direktbereich ausführen
869
9.3.4 Programme starten
870
9.3.5 Haltepunkte und Debug-Modus
871
9.4 Daten im Speicher verarbeiten
873
9.4.1 Variablen
873
9.4.2 Konstanten
881
9.4.3 Eingaben vom Anwender abfragen: »InputBox()«
882
9.4.4 Statische Variablen
884
9.4.5 Arrays
885
9.4.6 Dynamische Arrays
886
9.5 Kontrollstrukturen: Verzweigungen und Wiederholungen
887
9.5.1 Bedingungen und Fallunterscheidungen
888
9.5.2 Fallauswahl
888
9.5.3 Schleifen
889
9.5.4 Iteration
893
9.5.5 Sprungbefehle und Sprungmarken
894
9.6 Module
895
9.6.1 Ein Modul erstellen und bearbeiten
895
9.6.2 Prozeduren
896
9.6.3 Funktionen
899
9.6.4 Parameter
907
9.6.5 Gültigkeitsbereiche
917
9.6.6 Variablen auf Modulebene und globale Variablen
921
9.7 Klassenmodule
923
9.7.1 Ein eigenständiges Klassenmodul erstellen und bearbeiten
925
9.7.2 Objektvariablen
928
9.7.3 Eigenschaften (Properties)
935
9.7.4 Der Befehl »With«
943
9.7.5 Auflistungen (Collections)
945
9.8 Fehlerbehandlung
951
9.8.1 Auf Laufzeitfehler reagieren
952
9.8.2 Die Behandlung von Fehlern
957
9.8.3 Eigene Laufzeitfehler auslösen
958
9.8.4 Zentrale Fehlerbehandlung
958
10 Data-Access-Objects-(DAO-)Klassenbibliothek
961
10.1 Daten abfragen: »Recordset«-Objekte
962
10.1.1 Lesend auf eine Tabelle zugreifen
962
10.1.2 Einen Datensatz suchen
966
10.1.3 Domänenfunktionen - Datenabfrage in einer Zeile
968
10.1.4 Datensätze verändern
970
10.1.5 Abfragen erstellen und als Datensatzquelle nutzen
971
10.2 Aktionsabfragen ausführen
974
10.2.1 Bestehende Aktionsabfragen aufrufen
974
10.2.2 SQL-Code direkt ausführen
976
10.3 Transaktionen
976
10.3.1 Eine Transaktion starten und abschließen
977
10.3.2 Änderungen doch nicht durchführen: Rollback
979
10.4 Andere Klassenbibliotheken
980
10.4.1 Referenzen definieren
981
10.4.2 Word-Dokumente bearbeiten
982
10.4.3 Daten aus einer Excel-Tabelle gezielt auslesen
984
10.4.4 ActiveX Data Objects (ADO)
985
10.4.5 Zugriff auf das Windows-Betriebssystem
987
11 Anwendungsprogramme mit Access erstellen
991
11.1 Wichtige Elemente eines Anwendungsprogramms
992
11.1.1 Start der Anwendung
993
11.1.2 Formen des Hauptmenüs
994
11.1.3 Menüband
996
11.2 Zugriffsberechtigungen
1003
11.2.1 Benutzer, Gruppen und Zugriffsberechtigungen in ».mdb«-Dateien
1003
11.2.2 Verschlüsseln der Datenbank
1011
11.2.3 Erstellen einer ».accde«-Datei
1013
11.3 Ohne Access mit Datenbank-Dateien arbeiten: Die Access Runtime
1014
11.3.1 Installation der Access Runtime
1014
11.3.2 Workshop: Eine Datenbank runtime-fähig machen
1017
11.3.3 Workshop: Anwendungsprogramm mit Backend-Datenbank
1023
11.4 Die Grenzen der Möglichkeiten in Access - Beyond the Limits
1028
Anhang
1029
A.1 Microsoft SQL Server
1029
A.1.1 Installationsdateien herunterladen
1029
A.1.2 SQL Server Express Edition installieren
1032
A.1.3 Arbeiten nach der Installation
1040
A.1.4 SQL Server Management Studio: Das universelle Werkzeug zur Verwaltung des SQL Servers
1046
A.1.5 Eine Datenbank im SQL Server erstellen
1052
A.1.6 Datenbank trennen und wieder anfügen
1057
A.1.7 Datensicherung einer Datenbank des SQL Servers
1060
A.1.8 Authentifizierung und Berechtigungen
1061
A.2 Access Web Apps in Office 365 oder SharePoint speichern
1069
A.2.1 Access Web Apps benötigten eine SharePoint-Infrastruktur
1070
A.2.2 Beispiel einer Access Web App in SharePoint: Erfassung von Mitarbeitern und Flugbuchungen
1071
A.2.3 Alles SharePoint - und wo ist Access?
1076
Index
1079