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.1.6 Access-Desktop-Datenbank und Access Web App: Was ist der Unterschied?
27
1.2 Wie kann eine Datenbank meine Arbeitsprozesse unterstützen?
29
1.2.1 Beispiel einer einfachen Desktop-Datenbank: Mitgliederverwaltung eines Vereins
30
1.2.2 Beispiel einer komplexen Access-Desktop-Datenbank: Erfassung von Mitarbeitern, Flügen und Flugbuchungen
35
1.2.3 Beispiel einer Access Web App in SharePoint: Erfassung von Mitarbeitern und Flugbuchungen
39
2 Access als Datenbank: Tabellen
49
2.1 Ein Schnelleinstieg in relationale Datenbanken
49
2.1.1 Eine neue Desktop-Datenbank mit Access erstellen
50
2.1.2 Eine Tabelle in Access erstellen
52
2.1.3 Die Tabelle mit Inhalt füllen
54
2.2 Datenbankdesign
55
2.2.1 Die Welt in Tabellen abbilden
56
2.2.2 Namenskonventionen
58
2.2.3 Der Primärschlüssel
63
2.2.4 Die Tabellenstruktur festlegen
65
2.3 Erstellen von Tabellen
66
2.3.1 Die Entwurfsansicht
66
2.3.2 Felddatentyp »Kurzer Text«
72
2.3.3 Felddatentyp »Langer Text«
73
2.3.4 Felddatentyp »Zahl«
75
2.3.5 Felddatentyp »AutoWert«
80
2.3.6 Felddatentyp »Datum/Uhrzeit«
81
2.3.7 Felddatentyp »Währung«
85
2.3.8 Felddatentyp »Ja/Nein«
86
2.3.9 Felddatentyp »OLE-Objekt«
86
2.3.10 Andere Felddatentypen
87
2.3.11 Berechnete Felder
88
2.3.12 Feldeinschränkungen
90
2.3.13 Tabelleneinschränkungen
100
2.3.14 Der Nachschlage-Assistent
106
2.4 Ändern von Tabellen
106
2.4.1 Hinzufügen von Feldern
106
2.4.2 Verschieben von Feldern
107
2.4.3 Löschen von Feldern
108
2.4.4 Ändern des Felddatentyps
109
2.4.5 Ändern von Feld- und Tabelleneinschränkungen
110
2.5 Daten in Tabellen
111
2.5.1 Daten eingeben, ändern und löschen
112
2.5.2 Navigationsschaltflächen
116
2.5.3 Die Spaltenbreite eines Feldes anpassen
117
2.5.4 Felder sortieren
117
2.5.5 Felder ein- und ausblenden
117
2.5.6 Felder fixieren
119
2.5.7 Datensätze sortieren
119
2.5.8 Suchfunktionen
123
2.5.9 Datensätze filtern
126
2.6 Formatierungen in Tabellen
135
2.6.1 Format
135
2.6.2 Eingabeformat
150
2.6.3 Beschreibung und Beschriftung
158
2.6.4 Nachschlagen
159
2.7 Beziehungen zwischen Tabellen
161
2.7.1 1:n-Beziehung
162
2.7.2 1:1-Beziehung
165
2.7.3 m:n-Beziehung
168
2.7.4 Referentielle Integrität
171
2.7.5 Übersicht schaffen mit Datenbankdiagrammen
176
2.7.6 Typische Muster von Tabellenbeziehungen
184
2.8 Durch die Normalformen das Datenbankdesign verbessern
191
2.8.1 Die nicht normalisierte Form
192
2.8.2 Die erste Normalform (1NF)
193
2.8.3 Die zweite Normalform (2NF)
195
2.8.4 Die dritte Normalform (3NF)
201
2.8.5 Die Boyce-Codd-Normalform (BCNF)
204
2.8.6 Die vierte Normalform (4NF)
208
2.8.7 Weitere Normalformen
210
2.8.8 Zweckmäßiges Datenbankdesign
212
2.9 Indizes
216
2.9.1 Automatisch generierte Tabellenindizes
216
2.9.2 Eindeutiger Schlüssel (Alternativschlüssel)
219
2.9.3 Erstellen eines Indexes
222
2.9.4 Löschen eines Indexes
225
2.10 Besondere Tabellen
226
2.10.1 Versteckte Datenbankobjekte
226
2.10.2 Systemtabellen (»MSys«) und Usertabellen (»USys«)
227
2.10.3 Das Verzeichnis aller Datenbankobjekte: »MSysObjects«
229
3 Daten filtern, sortieren und zusammenfassen: Abfragen
231
3.1 Einfache Abfragen
231
3.1.1 Vertikales Filtern – Felder auswählen
233
3.1.2 Horizontales Filtern – Datensätze auswählen
238
3.1.3 Umgang mit NULL-Werten
247
3.1.4 Mehrere Filterkriterien verwenden
248
3.1.5 Datensätze sortieren
252
3.2 Auswerten von Daten eines Datensatzes: Berechnete Felder
257
3.2.1 Einfache Operationen für Zahlenfelder
258
3.2.2 Aneinanderreihen von Textfeldern
261
3.2.3 Grundsätzliches zu Funktionen
261
3.2.4 Funktionen für Textfelder
263
3.2.5 Funktionen für Zahlenfelder
264
3.2.6 Funktionen für Datumsfelder
266
3.2.7 Konvertieren des Felddatentyps
268
3.2.8 Einfache Fallunterscheidungen
270
3.2.9 Parameter in Abfragen
273
3.3 Zusammenfassen von Datensätzen: Gruppierung und Aggregieren
277
3.3.1 Datensätze zu Gruppen zusammenfassen
279
3.3.2 Die Anzahl der Datensätze pro Gruppe
280
3.3.3 Alle Zahlen einer Gruppe summieren
282
3.3.4 Minimal- und Maximalwert aller Zahlen einer Gruppe
283
3.3.5 Mittelwert, Varianz und Standardabweichung aller Zahlen einer Gruppe
284
3.3.6 Datensätze vor dem Zusammenfassen filtern – Filter auf die Rohdaten
285
3.3.7 Datensätze nach dem Zusammenfassen filtern – Filter auf das Ergebnis
287
3.3.8 Kreuztabellenabfrage
288
3.4 Abfragen von Daten aus mehreren Tabellen
293
3.4.1 Unterdatenblätter
294
3.4.2 Passende Datensätze zusammenbringen: Abfragen mit INNER-JOIN-Verknüpfung
296
3.4.3 Jeder Datensatz mit jedem gepaart: Das kartesische Produkt
300
3.4.4 Wenn vorhanden, dann nur passende Datensätze zusammen: Abfragen mit OUTER-JOIN-Verknüpfung
302
3.4.5 Abfragen mit mehr als zwei Tabellen
306
3.5 Aktionsabfragen
309
3.5.1 Anfügeabfragen
311
3.5.2 Löschabfragen
315
3.5.3 Aktualisierungsabfragen
318
3.6 Workshops zum Normalisieren von Daten
324
3.6.1 Die Haupttabelle einer 1:n-Beziehung füllen
325
3.6.2 Die Suche nach Inkonsistenzen
329
3.6.3 Inkonsistenzen beheben
333
3.6.4 Dublettensuche
336
4 Access und die Verbindungen zur Außenwelt
337
4.1 Wann braucht man Datenverbindungen?
337
4.1.1 Eine Access-Datenbank als Insel-Lösung verwenden
339
4.1.2 Import und Export von Daten
341
4.1.3 Verbundene Datenquellen
344
4.1.4 Verteilte Datenquellen – »Datawarehouse« und »Datamining«
346
4.2 Export von Daten
347
4.2.1 Export über die Zwischenablage
347
4.2.2 Export in eine andere Access-Datenbank
350
4.2.3 Export nach Excel
351
4.2.4 Export nach Word
353
4.2.5 Export als PDF- oder XPS-Datei
355
4.2.6 Export in eine Textdatei
357
4.2.7 Export in eine HTML-Datei
363
4.2.8 Export in eine XML-Datei
365
4.2.9 Daten als E-Mail versenden
371
4.2.10 Export als SharePoint-Liste
371
4.2.11 Gespeicherte Exporte
373
4.3 Zugriff auf eine Access-Desktop-Datenbank aus anderen Programmen
378
4.3.1 Öffnen einer Access-Tabelle in Excel
378
4.3.2 Serienbriefe in Word erstellen
382
4.3.3 Zugriff auf eine Access-Datenbank vom Microsoft SQL Server aus
387
4.4 Import von Daten
394
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
404
4.4.5 Daten per E-Mail sammeln
407
4.4.6 Import einer SharePoint-Liste
408
4.4.7 Datendienste nutzen
409
4.4.8 Gespeicherte Importe
410
4.5 Workshops zum Import von Daten
410
4.5.1 Workshop: Einmaliger Import von Daten
411
4.5.2 Workshop: Regelmäßiger Datenabgleich per Import
416
4.5.3 Workshop: Import einer Tabelle mit fehlenden Daten
427
4.6 Anbindung externer Datenquellen: Verknüpfen von Tabellen
459
4.6.1 Eine Tabelle aus einer anderen Access-Datenbank verknüpfen
459
4.6.2 Trennung von Daten und Anwendung
461
4.6.3 Aktualisieren von Tabellenverknüpfungen
464
4.6.4 Andere Dateiformate verknüpfen
466
4.6.5 Eine SharePoint-Liste verknüpfen
468
4.7 Was sind Server-Datenbanken?
469
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
5 SQL – die Programmiersprache für Datenbanken
489
5.1 Warum SQL lernen?
489
5.1.1 Voraussetzungen für dieses Kapitel
489
5.1.2 Der grafische Abfrage-Editor und SQL
490
5.2 Daten abfragen: SELECT
490
5.2.1 Abfragen von Daten aus einer Tabelle
491
5.2.2 Datensätze filtern
496
5.2.3 Datensätze sortieren
499
5.2.4 Parameter in Abfragen
500
5.2.5 Berechnete Felder
501
5.2.6 Abfragen von Daten aus mehreren Tabellen
501
5.3 Gruppierung und Aggregieren
508
5.3.1 GROUP BY
508
5.3.2 Aggregatfunktionen
509
5.3.3 HAVING
511
5.4 Unterabfragen
512
5.4.1 In der SELECT-Klausel anstelle eines Tabellenfeldes
513
5.4.2 In der FROM-Klausel anstelle einer Tabelle
516
5.4.3 In der WHERE-Klausel
517
5.4.4 In der ORDER-BY-Klausel anstelle eines Tabellenfeldes
522
5.5 Aktionsabfragen: Data Manipulation Language (DML)
523
5.5.1 INSERT INTO
524
5.5.2 SELECT … INTO
526
5.5.3 DELETE
527
5.5.4 UPDATE
529
5.6 Datenbankobjekte verändern: Data Definition Language (DDL)
530
5.6.1 CREATE TABLE
531
5.6.2 ALTER TABLE
532
5.6.3 DROP TABLE
533
5.6.4 CREATE INDEX
533
5.6.5 DROP INDEX
534
5.7 Besondere Abfragen
534
5.7.1 UNION-Abfragen
534
5.7.2 Pass-through-Abfragen
537
6 Formulare
539
6.1 Formulare entwerfen
539
6.1.1 Ein einfaches Formular in der Entwurfsansicht erstellen
539
6.1.2 Datensatzquelle
540
6.1.3 Einen Datensatz in der Formularansicht bearbeiten
542
6.1.4 Formulare als Registerblätter oder als Fenster
542
6.1.5 Welche Ansichten von Formularen gibt es?
544
6.1.6 Navigationsschaltflächen
545
6.1.7 Datensatzmarkierer
549
6.2 Arbeiten mit Steuerelementen
550
6.2.1 Hinzufügen und bearbeiten
550
6.2.2 Anpassen von Größe und Abstand
560
6.2.3 Ausrichten
562
6.2.4 Optisches Erscheinungsbild
564
6.2.5 Aktivieren und deaktivieren
566
6.2.6 Formatierungen
570
6.2.7 Bedingte Formatierungen
572
6.2.8 Datenbalken
574
6.2.9 Reihenfolge der Aktivierung
575
6.2.10 Gruppierung von Steuerelementen
577
6.3 Die verschiedenen Steuerelemente
577
6.3.1 Welche Steuerelemente gibt es?
577
6.3.2 Steuerelemente für Text
579
6.3.3 Auswahl Ja/Nein
583
6.3.4 Auswahl aus verschiedenen Optionen
586
6.3.5 Auswahl aus einer Liste
598
6.3.6 Grafik-Steuerelemente
605
6.3.7 Diagramme generieren
626
6.3.8 Internetfunktionen
631
6.3.9 Andere Steuerelemente
635
6.4 Arbeiten mit Layouts in Formularen
641
6.4.1 Layout- und Entwurfsansicht
642
6.4.2 Layout hinzufügen
643
6.4.3 Den Layoutbereich anpassen
645
6.4.4 Layout entfernen
647
6.4.5 Layout ähnlich einer Tabelle: Formularkopf und Formularfuß
648
6.4.6 Abstand und Gitternetzlinien
649
6.4.7 Steuerelemente verankern
650
6.5 Formulartypen
654
6.5.1 Das gebundene Standardformular
655
6.5.2 Das ungebundene Standardformular
655
6.5.3 Das Endlosformular
656
6.5.4 Das geteilte Formular
659
6.5.5 Das einfache Popup-Formular
662
6.5.6 Das modale Popup-Formular
663
6.5.7 Nicht mehr unterstützte Formulartypen
664
6.6 Arbeiten mit mehreren Formularen
664
6.6.1 Zugriff auf Daten in anderen Formularen
665
6.6.2 Unterformulare
676
6.6.3 Synchronisieren von Unterformularen
679
6.6.4 Das Navigationssteuerelement
684
6.7 Formulare aus einer Vorlage erstellen
687
6.7.1 Formularvorlagen
687
6.7.2 Anwendungsparts
688
6.8 Workshops zu Formularen
690
6.8.1 Workshop: Formulare und Unterformulare im Zusammenspiel
690
6.8.2 Workshop: Eine individuelle Eingabe-Dialogbox
698
6.8.3 Workshop: Platzreservierung
711
7 Berichte
721
7.1 Berichte entwerfen
721
7.1.1 Einen einfachen Bericht in der Entwurfsansicht erstellen
721
7.1.2 Datensatzquelle
723
7.1.3 Steuerelemente in Berichten
725
7.1.4 Unterberichte
730
7.2 Arbeiten mit Layouts in Berichten
734
7.2.1 Layout hinzufügen
735
7.2.2 Unterschiede zu Formularen
735
7.3 Ansichten eines Berichts
736
7.3.1 Seitenansicht
738
7.3.2 Direktes Drucken eines Berichts
740
7.3.3 Berichtsansicht
741
7.3.4 Einen Bericht als PDF- oder XPS-Datei exportieren
742
7.4 Bereiche in Berichten
743
7.4.1 Kopf- und Fußbereich
743
7.4.2 Ebenen zur Gruppierung
747
7.4.3 Seitenumbrüche setzen
760
7.4.4 Gruppen zusammenhalten und Abstände richtig setzen
761
7.4.5 Wiederholende Einträge ausblenden
764
7.4.6 Laufende Summen und Gesamtsummen
765
7.5 Berichte mit mehreren Spalten
767
7.5.1 Etiketten mit dem Assistenten erstellen
768
7.5.2 Mehrere Spalten einrichten
769
7.5.3 Der Seitenkopf für mehrere Spalten
772
7.6 Workshops zu Berichten
775
7.6.1 Workshop: Summen und Prozentsätze
775
7.6.2 Workshop: Filterformulare für Berichte
782
7.6.3 Workshop: Bericht in eine HTML-Datei exportieren
786
8 Einfache Programmierung mit Makros
791
8.1 Makros
791
8.1.1 Aktionen
792
8.1.2 Unsichere Aktionen und vertrauenswürdige Datenbanken
796
8.1.3 Kommentare im Makro
803
8.1.4 Fallunterscheidungen
804
8.1.5 Gruppieren und Untermakros
808
8.2 Auf Ereignisse reagieren
810
8.2.1 Ereignisse von Formularen
811
8.2.2 Ereignisse von Steuerelementen
814
8.2.3 Mit dem Zeitgeber arbeiten (Timer)
816
8.2.4 Ereignisse eines Berichts
816
8.2.5 Eingebettete Makros
818
8.3 Besondere Makros
819
8.3.1 Datenmakros (Trigger)
819
8.3.2 »AutoExec« startet beim Öffnen der Datenbank
824
8.3.3 Tastaturkürzel in »AutoKeys«
825
9 Visual Basic for Applications (VBA), die Programmiersprache für Microsoft-Office-Anwendungen
827
9.1 Warum VBA lernen?
827
9.1.1 Voraussetzungen für dieses Kapitel
828
9.1.2 Die Zukunft von VBA
828
9.2 Formulare bereichern
829
9.2.1 Auf Ereignisse reagieren
829
9.2.2 Kommentare im Code
832
9.2.3 Berechnungen und Formeln
832
9.2.4 Fallunterscheidungen
833
9.2.5 Meldungen am Bildschirm anzeigen: »MsgBox«
835
9.2.6 Befehle, die über mehrere Zeilen reichen
838
9.3 Die integrierte Entwicklungsumgebung
838
9.3.1 Ansicht im Codefenster
839
9.3.2 Übersicht halten mit dem Objektkatalog und dem Projekt-Explorer
842
9.3.3 VBA-Code im Direktbereich ausführen
845
9.3.4 Programme starten
846
9.3.5 Haltepunkte und Debug-Modus
847
9.4 Daten im Speicher verarbeiten
849
9.4.1 Variablen
850
9.4.2 Konstanten
857
9.4.3 Eingaben vom Anwender abfragen: »InputBox()«
858
9.4.4 Statische Variablen
860
9.4.5 Arrays
861
9.4.6 Dynamische Arrays
862
9.5 Kontrollstrukturen: Verzweigungen und Wiederholungen
863
9.5.1 Bedingungen und Fallunterscheidungen
864
9.5.2 Fallauswahl
864
9.5.3 Schleifen
865
9.5.4 Iteration
869
9.5.5 Sprungbefehle und Sprungmarken
870
9.6 Module
871
9.6.1 Ein Modul erstellen und bearbeiten
871
9.6.2 Prozeduren
872
9.6.3 Funktionen
875
9.6.4 Parameter
883
9.6.5 Gültigkeitsbereiche
893
9.6.6 Variablen auf Modulebene und globale Variablen
897
9.7 Klassenmodule
899
9.7.1 Ein eigenständiges Klassenmodul erstellen und bearbeiten
901
9.7.2 Objektvariablen
905
9.7.3 Eigenschaften (Properties)
912
9.7.4 Der Befehl »With«
919
9.7.5 Auflistungen (Collections)
921
9.8 Fehlerbehandlung
927
9.8.1 Auf Laufzeitfehler reagieren
928
9.8.2 Die Behandlung von Fehlern
933
9.8.3 Eigene Laufzeitfehler auslösen
934
9.8.4 Zentrale Fehlerbehandlung
935
10 Data-Access-Objects-(DAO-)Klassenbibliothek
937
10.1 Daten abfragen: Recordset-Objekte
938
10.1.1 Lesend auf eine Tabelle zugreifen
938
10.1.2 Einen Datensatz suchen
942
10.1.3 Domänenfunktionen – Datenabfrage in einer Zeile
944
10.1.4 Datensätze verändern
946
10.1.5 Abfragen erstellen und als Datensatzquelle nutzen
947
10.2 Aktionsabfragen ausführen
950
10.2.1 Bestehende Aktionsabfragen aufrufen
950
10.2.2 SQL-Code direkt ausführen
952
10.3 Transaktionen
952
10.3.1 Eine Transaktion starten und abschließen
953
10.3.2 Änderungen doch nicht durchführen: Rollback
955
10.4 Andere Klassenbibliotheken
956
10.4.1 Referenzen definieren
957
10.4.2 Word-Dokumente bearbeiten
958
10.4.3 Daten aus einer Excel-Tabelle gezielt auslesen
960
10.4.4 ActiveX Data Objects (ADO)
961
10.4.5 Zugriff auf das Windows-Betriebssystem
962
11 Anwendungsprogramme mit Access erstellen
967
11.1 Wichtige Elemente eines Anwendungsprogramms
968
11.1.1 Start der Anwendung
969
11.1.2 Formen des Hauptmenüs
970
11.1.3 Menüband
973
11.2 Zugriffsberechtigungen
979
11.2.1 Benutzer, Gruppen und Zugriffsberechtigungen in ».mdb«-Dateien
979
11.2.2 Verschlüsseln der Datenbank
988
11.2.3 Erstellen einer ».accde«-Datei
990
11.3 Access Web Apps in Office 365 oder SharePoint speichern
991
11.3.1 Voraussetzungen
991
11.3.2 Verpacken und Weitergabe einer Web App
999
11.3.3 Tabellen und Abfragen in einer Web App
1002
11.3.4 Ansichten anstelle von Formularen
1005
11.3.5 Berichte mit Web Apps nutzen
1016
11.3.6 Web Apps und Programmierung
1022
11.4 Die Grenzen der Möglichkeiten in Access – Beyond the Limits
1023
Index
1025