Access 2007 Das Grundlagenbuch für Entwickler

Werbung
Access 2007
Das Grundlagenbuch für Entwickler
programmer’s
choice
Die Wahl für professionelle Programmierer und Softwareentwickler. Anerkannte Experten wie z.B. Bjarne Stroustrup, der Erfinder von C++, liefern
umfassendes Fachwissen zu allen wichtigen Programmiersprachen und den
neuesten Technologien, aber auch Tipps aus der Praxis.
Die Reihe von Profis für Profis!
Hier eine Auswahl:
Professionelle Websites
Stefan Münz
1136 Seiten
€ 59,95 (D), € 61,70 (A)
ISBN-13: 978-3-8273-2370-5
ISBN-10: 3-8273-2370-3
Wenn heute von Webdesign die Rede ist, dann immer häufiger von striktem HTML, von sauberer Trennung zwischen Layout und Inhalt, und von
Beachtung der Regeln für barrierefreie Websites. Beschrieben wird hier,
was der Zukunft gehört und auf immer breiterer Front Anwendung
findet: strukturell sinnvolles, am Strict-Standard des W3-Konsortiums
orientiertes HTML, layout-formendes, intelligent eingesetztes CSS und
benutzerfreundliches, DOM-orientiertes JavaScript. Auch die Serverseite
darf nicht fehlen. Immer mehr Site-Betreiber steigen auf eigene Root-Server um. Vorinstalliert ist dort meistens das beliebte LAMP-Paket, bestehend aus einem Linux-Derivat, dem Apache Webserver, dem MySQL Datenbank-System und der Scriptsprache PHP. Genau diese Technologien
werden im Buch gründlich und zusammenhängend behandelt.
Visual C# 2005
Frank Eller
1104 Seiten
€ 49,95 (D), € 51,40 (A)
ISBN-13: 978-3-8273-2288-2
ISBN-10: 3-8273-2288-X
Fortgeschrittene und Profis erhalten hier umfassendes Know-how zur
Windows-Programmierung mit Visual C# in der Version 2. Nach einer
Einführung ins .NET-Framework und die Entwicklungsumgebung geht
der Autor ausführlich auf die Grundlagen der C#-Programmierung ein.
Anhand zahlreicher Beispiele zeigt er die verschiedenen Programmiertechniken wie z.B. Anwendungsdesign, Grafikprogrammierung oder das
Erstellen eigener Komponenten. Besondere Schwerpunkte liegen auf der
umfangreichen .NET-Klassenbibliothek und Windows Forms sowie auf
dem Datenbankzugriff mit ADO.NET.
Michael
Jendryschik
André
Minhorst
Access
2007in XHTML,
Einführung
Das
Grundlagenbuch
CSS und
Webdesign
für
Entwickler
Standardkonforme,
moderne und
barrierefreie Websites erstellen
An imprint of Pearson Education
München • Boston • San Francisco • Harlow, England
Don Mills, Ontario • Sydney • Mexico City
Madrid • Amsterdam
Bibliografische Information Der Deutschen Bibliothek
Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen
eventuellen Patentschutz veröffentlicht.
Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.
Bei der Zusammenstellung von Abbildungen und Texten wurde mit größter
Sorgfalt vorgegangen.
Trotzdem können Fehler nicht vollständig ausgeschlossen werden.
Verlag, Herausgeber und Autoren können für fehlerhafte Angaben
und deren Folgen weder eine juristische Verantwortung noch
irgendeine Haftung übernehmen.
Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und
Herausgeber dankbar.
Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der
Speicherung in elektronischen Medien.
Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten
ist nicht zulässig.
Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben,
die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt.
Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht,
wird das ®-Symbol in diesem Buch nicht verwendet.
Umwelthinweis:
Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt.
10
9
09
08
8
7
6
5
4
3
2
1
07
ISBN
ISBN 978-3-8273-2477-1
978-3-8273-2460-3
©
© 2007
2007 by
by Addison-Wesley
Addison-Wesley Verlag,
Verlag,
ein
ein Imprint
Imprint der
der Pearson
Pearson Education
Education Deutschland
Deutschland GmbH,
GmbH,
Martin-Kollar-Straße
10-12, D-81829
Martin-Kollar-Straße 10–12,
D-81829 München/Germany
München/Germany
Alle
vorbehalten
Alle Rechte
Rechte vorbehalten
Lektorat:
[email protected]
Lektorat: Sylvia
BrigitteHasselbach,
Bauer-Schiewek,
[email protected]
Fachlektorat:
Sascha
Trowitzsch, [email protected]
Fachlektorat: Dirk
Frischalowski
Herstellung:
Martha Kürzl-Harrison,
Kürzl-Harrison, [email protected]
[email protected]
Herstellung: Martha
Korrektorat:
Rita Klingenstein
Korrektorat: Sybille
Feldmann
Coverkonzeption
Coverkonzeption und
und -gestaltung:Marco
-gestaltung: Marco Lindenbeck,
Lindenbeck, webwo
webwo GmbH,
GmbH, [email protected]
[email protected]
Satz:
André
Minhorst,
Satz: Redaktionsbüro
reemers publishing
services
gmbh,[email protected]
Krefeld, www.reemers.de
Druck
und Verarbeitung:
Verarbeitung: Kösel,
Kösel, Krugzell
Krugzell (www.KoeselBuch.de)
(www.KoeselBuch.de)
Druck und
Printed
in Germany
Germany
Printed in
Steine sind Steine.
Inhalt
Vorwort 1 Warum Access 2007? 1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
Die Benutzeroberfläche 1.1.1
Navigationsbereich statt Datenbankfenster 1.1.2
Ribbon statt Menü- und Symbolleisten 1.1.3
Neuer Optionen-Dialog 1.1.4
Neuer Startbereich 1.1.5
Neue Onlinehilfe Neues Datenbankformat Runtime gratis Goodbye Sicherheitssystem Neue Sicherheitsfunktionen Bye-bye Replikation Adieu Datenzugriffsseiten ACE — die neue Jet-Engine MDI vs. SDI oder »Jedem Objekt sein Register« Neuer Datentyp: Anlagefeld Mehrwertige Felder Weitere Neuigkeiten zu Felddatentypen und Steuerelementen 1.12.1 Rich-Text 1.12.2 Historie in Memofeldern 1.12.3 Datumssteuerelement 1.12.4 Schaltflächen mit Bild und Text 1.12.5 Kombinationsfelder und Listenfelder 1.12.6 Bildsteuerelement mit Steuerelementinhalt 1.12.7 Zu große Zahlen ersetzen Neues in Tabellen 1.13.1 Alternative Hintergrundfarbe 1.13.2 Entwurf in der Datenblattansicht von Tabellen Neues bei den Formularen 1.14.1 Layoutansicht 1.14.2 Geteilte Ansicht 1.14.3 Filtern und Sortieren 1.14.4 Berechnungen auf Spaltenbasis 1.14.5 Vereinfachtes Layouten 1.14.6 Verankern von Steuerelementen 1.14.7 AutoHeight für Formularbereiche Neues bei Berichten 1.15.1 Berichtsansicht 27
31
32
33
35
36
37
37
37
38
38
39
40
40
40
40
41
41
42
42
43
43
43
43
44
44
44
44
45
45
45
46
46
47
47
47
48
48
48
Inhalt
1.15.2 Neues bei Makros 1.16 VBA 1.16.1 TempVars 1.16.2 VBA in Formularen, Steuerelementen, Berichten und DAO 1.17 Sonstige Neuheiten 1.17.1 Neuer Farbauswahldialog 1.17.2 ClearType-Fonts in Access 1.17.3 Neue Schriftarten 1.17.4 Import und Export 1.17.5 PDF-Export 1.17.6 Daten sammeln per E-Mail 1.17.7 SharePoint 2 Tabellen und Datenmodellierung 2.1
2.2
2.3
2.4
2.5
Techniken zur Datenmodellierung 2.1.1
Tabellen anlegen 2.1.2
Felder hinzufügen 2.1.3
Schlüssel festlegen 2.1.4
Eigenschaften festlegen 2.1.5
Beziehungen herstellen 2.1.6
Nachschlagefelder mit Wertliste 2.1.7
Tabelleninformationen im Überblick Namenskonventionen für Tabellen und Felder 2.2.1
Tabellennamen 2.2.2
Feldnamen Normalisierung 2.3.1
Die erste Normalform 2.3.2
Die zweite Normalform 2.3.3
Die dritte Normalform 2.3.4
Weitere Normalformen 2.3.5
Das richtige Maß treffen Integritätsregeln 2.4.1
Integrität der Werte (Wertbereichsintegrität) 2.4.2
Format der Werte (semantische Integrität) 2.4.3
Abhängigkeit von Feldinhalten (Attributintegrität) 2.4.4
Eindeutige Datensätze (Entitätsintegrität) 2.4.5
Referentielle Integrität Beziehungen 2.5.1
Benennen von Primär- und Fremdschlüsselfeldern 2.5.2
Halbautomatisches Festlegen von Beziehungen 2.5.3
Festlegen referentieller Integrität 2.5.4
1:n-Beziehungen 2.5.5
n:1-Beziehungen oder Lookup-Beziehungen 2.5.6
m:n-Beziehungen 2.5.7
1:1-Beziehungen 2.5.8
Reflexive Beziehungen 49
49
50
52
52
52
52
53
53
53
53
54
55
57
57
58
69
72
75
82
85
86
87
89
91
93
98
101
103
103
103
103
104
105
105
107
107
109
110
111
113
113
117
119
124
Inhalt
2.6
2.7
Autowerte als Long oder GUID? Datenmodell-Muster 2.7.1
Adressen-/Kundenverwaltung 2.7.2
Rezepteverwaltung 2.7.3
Artikelverwaltung 2.7.4
CD-Verwaltung 2.7.5
Projektverwaltung 2.7.6
Mitarbeiterverwaltung 2.7.7
Literaturverwaltung 2.7.8
Mitgliederverwaltung 2.7.9
Urlaubsverwaltung 2.7.10 Aufgabenverwaltung 2.7.11 Projektzeitverwaltung 2.7.12 Kunden und Weihnachtsgeschenke 2.7.13 Fahrtenbuch 3 Abfragen 3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Anlegen von Abfragen mit Access 2007 Abfragen mit Anlage-Feldern und mehrwertigen Feldern Verwendung von Abfragen als Datensatzquelle oder Datensatzherkunft 3.3.1
Tabelle als Datensatzquelle 3.3.2
SQL-Ausdruck als Datensatzquelle 3.3.3
Gespeicherte Abfrage als Datensatzquelle 3.3.4
Datensatzquelle per VBA zuweisen 3.3.5
Parameter statt Zusammensetzen von SQL-Ausdrücken 3.3.6
Abfragen mit Parameter oder zusammengesetzte
SQL-Ausdrücke? 3.3.7
Probleme mit Kriterienausdrücken bei SQL-Ausdrücken in VBA 3.3.8
Zeichenkette oder Zahlenwert? 3.3.9
Probleme mit Datumsangaben 3.3.10 Verweis auf Steuerelemente Aktualisierbarkeit von Abfragen 3.4.1
Wie erkennen Sie, ob das Abfrageergebnis aktualisierbar ist? 3.4.2
Nicht aktualisierbare Abfragen UNION-Abfragen 3.5.1
UNION-Abfragen zur Optimierung von Kombinationsfeldern 3.5.2
Eindeutige Schlüssel mit UNION-Abfragen 3.5.3
INSERT INTO mit UNION-Abfragen Suchen in m:n-Beziehungen Handhabung von 1:1-Beziehungen Extremwerte per Abfrage ermitteln 3.8.1
Extremwert einer Gruppierung ermitteln 3.8.2
Extremwert per TOP und ORDER BY 3.8.3
Extremwerte per Unterabfrage 3.8.4
Extremwerte von Gruppierungen Datensätze mehrfach anzeigen 127
128
128
131
132
134
136
136
138
138
140
141
143
144
145
147
148
149
151
151
152
153
153
154
158
158
158
160
162
162
163
163
165
165
167
168
169
172
177
177
178
178
179
181
Inhalt
3.10 Nummerierung von Datensätzen 3.10.1 Alternative: Nummerieren per Unterabfrage 3.10.2 Nummerierung von Abfrageergebnissen mit alternativen
Sortierungen 3.10.3 Nummerierung von Abfrageergebnissen mit eingeschränkten
Ergebnismengen 3.11 Reflexive 1:n-Beziehungen 3.12 Reflexive m:n-Beziehungen 4 Formulare 4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
10
Formulare in Access 2007 4.1.1
Anlegen eines Formulars 4.1.2
Formularansichten 4.1.3
Geteilte Formulare 4.1.4
Hilfreiche Funktionen für den Formularentwurf 4.1.5
Sonstige Neuerungen 4.1.6
Formularvorlage Formulare öffnen Ereignisse in Formularen und Steuerelementen 4.3.1
Ereignisse in Formularen 4.3.2
Abfolge und Bedeutung der Ereignisse beim Öffnen und Schließen
eines Formulars 4.3.3
Abfolge und Bedeutung der Ereignisse beim Bearbeiten von
Datensätzen Ereignisse von Steuerelementen Abbildung verschiedener Beziehungsarten 4.5.1
Einfache Daten in der Detailansicht 4.5.2
Einfache Daten in der Übersicht mit Endlosformularen 4.5.3
Einfache Daten in der Übersicht als Datenblatt 4.5.4
Daten in der Übersicht als Listenfeld 4.5.5
1:1-Beziehungen 4.5.6
n:1-Beziehungen 4.5.7
1:n-Beziehungen 4.5.8
1:n-Beziehung per Unterformular und Datenblattansicht 4.5.9
1:n-Beziehung per Listenfeld 4.5.10 m:n-Beziehungen in Haupt- und Unterformular 4.5.11 m:n-Beziehungen per Listenfeld 4.5.12 Reflexive Beziehungen Von Formular zu Formular Besonderheiten von Unterformularen 4.7.1
Eingabe von Daten ohne Detaildatensatz 4.7.2
Undo in Haupt- und Unterformular Eingabevalidierung 4.8.1
Validieren direkt bei der Eingabe 4.8.2
Validieren vor dem Speichern 4.8.3
Sonderfälle beim Validieren 182
183
184
184
184
186
187
188
188
192
196
198
201
204
205
206
206
209
210
212
216
216
220
224
229
231
232
233
234
238
240
246
253
256
260
260
262
275
275
276
279
Inhalt
4.9
Suchen in Formularen 4.9.1
Schnelles Suchen in Formularen 4.9.2
Schnelles Filtern in der Datenblattansicht 4.9.3
Schnellauswahl per Kombinationsfeld 4.9.4
Schnelles Filtern von Listenfeldern 5 Steuerelemente Textfelder 5.1.1
Rich-Text in Textfeldern 5.1.2
Datum auswählen 5.1.3
Texte als Hyperlink anzeigen 5.1.4
Abgeschnittene Zahlenfelder 5.2 Schaltflächen 5.3 Kombinationsfelder 5.3.1
Wertliste erben 5.3.2
Formular zum Bearbeiten anzeigen 5.3.3
Wachsen und Schrumpfen 5.3.4
Hyperlinks 5.3.5
Mehrwertige Felder 5.4 Kombinationsfeld-Techniken 5.4.1
Kombinationsfeld aufklappen 5.4.2
Auswählen-Eintrag hinzufügen 5.4.3
Abhängige Kombinationsfelder 5.4.4
Bestimmten Eintrag auswählen 5.4.5
Aktuell markierten Eintrag auslesen 5.4.6
Wert zu einem gebundenen Kombinationsfeld hinzufügen 5.4.7
Weitere Techniken 5.5 Listenfelder 5.5.1
Mehrfachauswahl auslesen 5.5.2
Ja/Nein-Felder im Listenfeld anzeigen 5.5.3
Weitere Techniken 5.6 Unterformulare 5.7 Das Anlagen-Steuerelement 5.8 Optionsgruppe, Umschaltfläche, Kontrollkästchen, Bildsteuerelement
und Co. 5.9 Weitere Steuerelementeigenschaften 5.9.1
Steuerelemente verankern 5.9.2
Layout oder nicht? 5.9.3
Gitternetzlinien 5.9.4
Textabstand 5.10 Das TreeView-Steuerelement 5.10.1 TreeView anlegen 5.10.2 Eigenschaften des TreeView-Steuerelements 5.10.3 Erzeugen eines Baumes 5.10.4 Stil einstellen 5.10.5 Element-Eigenschaften per VBA zuweisen 5.1
280
280
281
282
284
289
289
289
291
292
292
292
293
295
295
295
295
295
296
296
296
297
298
299
299
300
300
300
301
302
302
303
303
303
303
305
305
306
306
307
311
311
313
314
11
Inhalt
5.10.6 Symbole im TreeView 5.10.7 Daten aus Tabellen im TreeView-Steuerelement darstellen 5.10.8 Daten aus verknüpften Tabellen anzeigen 5.10.9 Reflexive Daten im TreeView-Steuerelement 5.10.10 TreeView füllen bei großen Datenbeständen 5.10.11 Elemente erst bei Bedarf anlegen 5.10.12 Neuzeichnen des Baumes verhindern 5.10.13 Drag and Drop im TreeView-Steuerelement 5.10.14 VBA-Ereignisprozeduren für Drag and Drop einrichten 5.11 ListView 5.11.1 Möglichkeiten des ListView-Steuerelements 5.11.2 Füllen des ListView-Steuerelements 5.11.3 Eigenschaften des ListView-Steuerelements 5.11.4 Sortieren von ListView-Einträgen 5.11.5 Einträge des ListView-Steuerelements auswählen 5.11.6 ListView-Steuerelement mit Daten füllen 5.11.7 Icons im ListView-Steuerelement 5.11.8 Drag and Drop mit dem ListView-Steuerelement 5.11.9 Reihenfolge per Drag and Drop einstellen 5.12 Das ImageList-Steuerelement 5.13 Tipps und Tricks zu Steuerelementen 5.13.1 Standardeinstellungen speichern 5.13.2 Autoformate 6 Berichte 6.1
6.2
6.3
6.4
12
Berichte erstellen 6.1.1
Anlegen eines Berichts 6.1.2
Vereinfachtes Layouten 6.1.3
Einheitliches Design mit Autoformat 6.1.4
Wechselnde Hintergrundfarbe 6.1.5
Bedingte Formatierung 6.1.6
Sonstige Layout-Vereinfachungen 6.1.7
Berichtsbereiche 6.1.8
Berichtsansichten 6.1.9
Gruppieren und sortieren Berichte anzeigen Filtern und sortieren 6.3.1
Filtern und Sortieren in der Berichtsvorschau 6.3.2
Filtern, Sortieren und Gruppieren
in der Layoutansicht 6.3.3
Filtern in der Layoutansicht 6.3.4
Sortieren in der Layoutansicht 6.3.5
Gruppieren in der Layoutansicht 6.3.6
Summen in der Layoutansicht Berichtsbereiche und Ereignisse 6.4.1
Berichtsbereiche 315
315
316
318
320
321
323
324
324
328
329
330
331
332
334
337
340
345
350
354
358
358
359
361
361
362
364
365
366
366
367
367
368
368
368
369
371
371
372
372
373
375
376
376
Inhalt
6.4.2
Ereignisse in Berichten 6.4.3
Zusammenfassung der Berichtsereignisse 6.4.4
Zusammenfassung der Bereichsereignisse 6.4.5
Zugriff auf die Berichtsbereiche 6.5 Beispiele für den Einsatz der Berichts- und Bereichsereignisse in der
Seitenansicht 6.5.1
Beim Öffnen: Auswertung von Öffnungsargumenten 6.5.2
Bei Aktivierung und Bei Deaktivierung:
Berichtsabhängige Funktionen ein- und ausschalten 6.5.3
Bei Ohne Daten: Öffnen leerer Berichte vermeiden 6.5.4
Bei Fehler: Fehler abfangen 6.5.5
Bei Seite: Seiten verschönern 6.5.6
Beim Formatieren: Layout anpassen 6.5.7
Beim Drucken 6.6 Wichtige Eigenschaften von Berichten und Berichtsbereichen 6.6.1
Kopfzeilenbereich und Fußzeilenbereich 6.6.2
Gruppieren nach und Intervall 6.6.3
Zusammenhalten von Daten 6.6.4
Neue Seite, Zeile oder Spalte 6.6.5
Vergrößerbar und Verkleinerbar 6.6.6
Bereich wiederholen 6.7 Darstellung von Daten 6.7.1
Einzelne Tabellen 6.7.2
1:n-Beziehungen 6.7.3
m:n-Beziehungen 6.8 Berichte mit Unterberichten 6.8.1
Unterberichte 6.8.2
Einbinden der Unterberichte in den Hauptbericht 6.8.3
Unterberichte über mehrere Seiten 6.9 Rechnungserstellung mit Berichten 6.9.1
Konzept für die Erstellung des Berichts 6.9.2
Erstellen des Gruppenkopfs 6.9.3
Anlegen des Detailbereichs 6.9.4
Berechnungen in Berichten oder Berechnungen in Formularen 6.9.5
Summenbildung im Fußbereich der Gruppierung 6.9.6
Feinheiten: Zwischensumme und Übertrag 6.9.7
Überschriften für Folgeseiten und Rechnungsübertrag 6.9.8
Rechnungsentwurf im Zusammenhang und Restarbeiten 6.10 Die Berichtsansicht 6.11 Anwendungsbeispiel für die Berichtsansicht 7 VBA 7.1
7.2
7.3
VBA-Neuigkeiten in Access 2007 Namenskonventionen in VBA Layout von Code 7.3.1
Funktionalität vor Schönheit? 377
378
378
380
381
381
384
385
385
385
387
388
390
391
392
393
393
394
395
395
396
400
403
404
404
404
407
407
410
410
411
412
412
413
413
414
419
420
425
426
426
427
427
13
Inhalt
7.4
7.5
7.6
7.7
7.8
7.3.2
Code einrücken zur Verdeutlichung der logischen Struktur 7.3.3
Leerzeilen für bessere Lesbarkeit 7.3.4
Zeilenumbrüche 7.3.5
Anweisungen zusammenfassen Kommentare Konstanten Variablen 7.6.1
Variablennamen 7.6.2
Spezielle Variablennamen 7.6.3
Arrays 7.6.4
Benutzerdefinierte Typen 7.6.5
Alle Variablen verwenden 7.6.6
Globale Variablen Kontrollstrukturen 7.7.1
If...Then-Anweisung 7.7.2
Select Case 7.7.3
For...Next-Schleifen 7.7.4
For Each-Schleifen 7.7.5
Do…Loop-Schleifen und Varianten 7.7.6
Exit 7.7.7
Die GoTo-Anweisung und Sprungmarken Routinen 7.8.1
Routinenarten 7.8.2
Routinennamen 7.8.3
Starker Zusammenhalt von Routinen 7.8.4
Lose Kopplung zwischen Routinen 7.8.5
Parameter und Rückgabewerte einer Routine 7.8.6
Gleichzeitige Rückgabe von Statuswert und Ergebnis 7.8.7
Alle Routinen verwenden 8 Access-SQL 8.1
8.2
8.3
14
SQL-Versionen SQL und Access 8.2.1
Wozu trotz Abfrage-Entwurfsansicht SQL lernen? 8.2.2
Wo lässt sich SQL überall einsetzen? Daten auswählen 8.3.1
Festlegen der anzuzeigenden Felder 8.3.2
Festlegen der enthaltenen Tabellen 8.3.3
Festlegen von Bedingungen 8.3.4
Vergleichsausdrücke 8.3.5
Sortieren von Daten 8.3.6
Aggregatfunktionen 8.3.7
Gruppieren von Daten 8.3.8
WHERE, GROUP BY, HAVING und ORDER BY im Überblick 8.3.9
Verknüpfen von Tabellen in Abfragen 8.3.10 Zugriff auf externe Datenquellen 428
430
431
432
433
434
437
437
438
439
440
441
441
441
441
444
445
446
447
448
449
450
450
451
453
453
453
456
457
459
459
460
461
462
463
464
465
466
467
470
471
472
475
475
485
Inhalt
8.3.11
8.4
8.5
Zugriff auf Felder des Datentyps Anhang und mehrwertige
Felder Daten manipulieren 8.4.1
Daten aktualisieren 8.4.2
Daten löschen 8.4.3
Daten an bestehende Tabelle anfügen
8.4.4
Neue Tabelle mit Daten erstellen
Datenmodell erstellen und manipulieren 8.5.1
Tabellen erstellen 8.5.2
Primärschlüssel, Indizes und Einschränkungen
mit CONSTRAINT 8.5.3
Tabelle ändern 8.5.4
Tabelle löschen 8.5.5
Index löschen
9 DAO 9.1
9.2
9.3
9.4
9.5
9.6
9.7
DAO und ADO im Einsatz Das DAO-Objektmodell 9.2.1
Zugriff auf die Elemente des Objektmodells 9.2.2
Deklarieren und Instanzieren 9.2.3
Auf Auflistungen zugreifen 9.2.4
Punkte und Ausrufezeichen DBEngine Workspace — Arbeitsbereich oder Sitzung? 9.4.1
Auflistungen des Workspace-Objekts 9.4.2
Aufgaben des Workspace-Objekts 9.4.3
Datenbanken erzeugen und öffnen Aktuelle Datenbank referenzieren 9.5.1
Users und Groups Das Database-Objekt 9.6.1
Manipulation des Datenmodells 9.6.2
Erstellen einer Tabelle 9.6.3
Autowert anlegen 9.6.4
Attachment-Feld anlegen 9.6.5
Mehrwertige Felder anlegen 9.6.6
Löschen einer Tabelle 9.6.7
Erstellen eines Index 9.6.8
Löschen eines Index 9.6.9
Erstellen einer Beziehung 9.6.10 Löschen einer Beziehung 9.6.11 Erstellen von Eigenschaften 9.6.12 Zugriff auf Auflistungen und Elemente 9.6.13 Datensatzgruppen erstellen mit OpenRecordset 9.6.14 Ausführen von Aktionsabfragen Daten bearbeiten mit dem Recordset- und dem
Recordset2-Objekt 485
486
486
487
487
489
490
490
493
499
500
500
501
503
504
504
506
507
508
509
509
510
510
511
511
513
514
514
514
517
517
518
521
522
523
524
526
526
526
528
533
534
15
Inhalt
Methoden und Eigenschaften des Recordset2-Objekts Datensätze durchlaufen Alle Datensätze durchlaufen Zu bestimmten Datensätzen springen Aktuelle Position des Datensatzzeigers ermitteln Anzahl der Datensätze ermitteln Daten aus Datensätzen ausgeben Datensätze suchen Die Seek-Methode zum Suchen in Table-Recordsets Die Find-Methoden zum Suchen in Dynaset- und
Snapshot-Recordsets 9.7.11 Alle Datensätze mit einem bestimmten Kriterium finden 9.7.12 Lesezeichen 9.8 Sortieren und Filtern von Datensätzen 9.8.1
Sortieren mit der Sort-Eigenschaft 9.8.2
Sortieren mit der Index-Eigenschaft 9.8.3
Filtern mit der Filter-Eigenschaft 9.9 Daten bearbeiten 9.9.1
Anlegen eines Datensatzes 9.9.2
Bearbeiten eines Datensatzes 9.9.3
Löschen eines Datensatzes 9.9.4
Umgang mit Attachments 9.9.5
Attachment-Felder auslesen 9.9.6
Dateien aus einem Attachment-Feld auf der Festplatte speichern 9.9.7
Datei in Attachment-Feldern speichern 9.9.8
Löschen von Dateien in Attachment-Feldern 9.9.9
Ersetzen eines Attachments 9.9.10 Umgang mit mehrwertigen Feldern 9.9.11 Lesen des Inhalts von mehrwertigen Feldern, Variante I 9.9.12 Lesen des Inhalts mehrwertiger Felder, Variante II 9.10 QueryDefs — Auswahl oder Aktion nach Wahl 9.11 Transaktionen 9.7.1
9.7.2
9.7.3
9.7.4
9.7.5
9.7.6
9.7.7
9.7.8
9.7.9
9.7.10
10 ADO 10.1 Zugriff auf eine Datenquelle herstellen 10.2 Manipulation des Datenmodells 10.2.1 Anlegen einer Tabelle 10.2.2 Autowert anlegen 10.2.3 Löschen einer Tabelle 10.2.4 Erstellen eines Index 10.2.5 Löschen eines Index 10.2.6 Erstellen einer Beziehung 10.2.7 Löschen einer Beziehung 10.3 Zugriff auf Tabellen, Abfragen und die darin enthaltenen Daten 10.3.1 Ausgeben aller Tabellen 10.3.2 Prüfen, ob eine Tabelle vorhanden ist 16
534
536
536
537
537
539
541
542
542
543
544
545
546
546
547
548
549
549
550
550
551
551
555
557
558
558
559
560
561
561
562
567
568
571
571
573
573
574
575
575
577
577
577
578
Inhalt
10.4
10.5
10.6
10.7
10.3.3 Datensatzgruppe auf Basis einer Tabelle öffnen 10.3.4 Cursor-Typen 10.3.5 Sperrung von Daten 10.3.6 Datensätze eines Recordsets durchlaufen 10.3.7 Daten eines Recordsets mit mehrwertigen Feldern ausgeben 10.3.8 Daten eines Recordsets mit Attachment-Feldern ausgeben 10.3.9 Anzahl der Datensätze in einer Datensatzgruppe ermitteln 10.3.10 Prüfen, ob eine Datensatzgruppe leer ist 10.3.11 Ausgabe des Inhalts eines Recordsets 10.3.12 Speichern der Daten in einem Array 10.3.13 Abfragen mit Parametern verwenden Datensätze suchen 10.4.1 Gesuchte Datensätze per Source-Eigenschaft des Recordsets
ermitteln 10.4.2 Seek 10.4.3 Find 10.4.4 Filtern 10.4.5 Sortieren 10.4.6 Lesezeichen Datensätze bearbeiten 10.5.1 Datensatz anlegen 10.5.2 Datensatz bearbeiten 10.5.3 Datensatz löschen 10.5.4 Aktionsabfragen ausführen Transaktionen Besonderheiten von ADO gegenüber DAO 10.7.1 Datensatzgruppe speichern 10.7.2 Datensatzgruppe laden 10.7.3 Ungebundene Recordsets verwenden 10.7.4 Disconnected Recordsets 10.7.5 Ereignisse von Datensatzgruppen 11 Bilder und binäre Dateien 11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9
Bilder und Dateien als Anlage speichern Bilder aus Anlage-Feldern in Formularen anzeigen Bilder aus Anlage-Feldern in Berichten anzeigen Bilder und Dateien aus Anlage-Feldern auf der Festplatte speichern Dateien per VBA in Anlage-Felder importieren und exportieren 11.5.1 Importieren von Dateien in Anlage-Felder 11.5.2 Exportieren von Dateien aus dem Anlage-Feld Bilder und Dateien im OLE-Feld einbetten oder verknüpfen Bilder und Dateien als Binärstrom im OLE-Feld speichern Bilder und Dateien im binären Format
aus einem OLE-Feld wiederherstellen Bilder von der Festplatte in Formularen
und Berichten anzeigen 578
579
579
580
580
581
582
582
583
583
584
585
585
586
588
589
590
591
591
591
592
593
593
593
594
594
594
595
596
599
601
602
604
607
608
609
610
612
614
615
617
619
17
Inhalt
11.9.1 Anzeigen externer Bilddateien im Formular 11.9.2 Anzeige externer Bilddateien in Berichten 11.9.3 Alternative zum Bildsteuerelement von Access 11.10 Die Office Graphics Library 11.10.1 Bilder aus dem OLE-Feld in einem Formular anzeigen 11.10.2 Bild aus einem OLE-Feld wiederherstellen 11.10.3 Speichern in verschiedenen Formaten 11.10.4 Bilder bearbeiten 11.10.5 Ersatz für Anlagen? 12 Ribbon 12.1 Definition des Ribbons 12.2 Symbolleiste für den Schnellzugriff 12.3 Eigene Ribbon-Tabs erstellen 12.3.1 Ein einfaches Ribbon 12.3.2 Schaltfläche mit Funktion versehen 12.4 Fehler in Ribbon-XML-Dokumenten erkennen 12.5 Callback-Funktionen 12.5.1 Die get...-Attribute 12.5.2 Ereigniseigenschaften 12.5.3 Umgang mit Callback-Funktionen 12.6 Weitere Ribbon-Steuerelemente 12.6.1 Schaltflächen 12.6.2 Kontrollkästchen (checkBox) 12.6.3 Textfelder 12.6.4 Kombinationsfelder I: Das comboBox-Element 12.6.5 Kombinationsfelder II: Das dropDown-Element 12.6.6 Umschaltflächen 12.6.7 Galerien 12.6.8 Menüs (menu) 12.6.9 Splitbuttons (splitButton) 12.6.10 Gruppendialog anzeigen 12.6.11 Trennstrich (separator) 12.7 Weitere Anpassungen des Ribbons 12.7.1 Tastenkombinationen 12.7.2 Alle Ribbons ausblenden 12.7.3 Ribbon-Leiste minimieren 12.7.4 Ein tab-Element ein- und ausblenden 12.7.5 Eine Gruppe ein- und ausblenden 12.7.6 Ein Steuerelement ein- und ausblenden 12.7.7 Eingebaute Steuerelemente aktivieren und deaktivieren 12.7.8 Eingebaute Steuerelemente mit neuen Funktionen belegen 12.7.9 Sonderzeichen in Ribbon-Texten 12.7.10 Einen Eintrag zum Office-Menü hinzufügen 12.7.11 Einträge des Office-Menüs ausblenden 12.7.12 Einen Eintrag zur Schnellzugriffsleiste hinzufügen 18
619
621
622
624
624
627
628
629
630
631
632
633
636
637
639
641
642
642
643
644
646
646
650
650
652
656
658
659
661
663
664
665
665
666
667
667
668
668
669
669
670
670
670
671
672
Inhalt
12.8 Ribbons für Formulare und Berichte 12.9 XML-Dokument mit Application.LoadCustomUI laden 12.9.1 Dynamisches Aktualisieren des Ribbons 12.9.2 Beispiel: Abhängige Kontrollkästchen 12.10 Menü- und Symbolleisten aus bestehenden Access 2003-Anwendungen 12.11 Übersicht über Ribbon-XML-Elemente und Attribute 12.11.1 Auflistung der Ribbon-Elemente 12.11.2 Attribute der Ribbon-Elemente 12.11.3 Ereigniseigenschaften der Ribbon-Elemente 12.11.4 Steuerelemente und ihre Eigenschaften 13 Debugging, Fehlerbehandlung und Fehlerdokumentation 13.1 Fehlerarten 13.1.1 Syntaxfehler 13.1.2 Laufzeitfehler 13.1.3 Logische Fehler 13.2 Debugging in der VBA-Entwicklungsumgebung 13.2.1 Die Debuggen-Symbolleiste 13.2.2 Das Direktfenster 13.2.3 Haltepunkte 13.2.4 Die Aufrufliste 13.2.5 Ausdrücke überwachen 13.2.6 Das Lokal-Fenster 13.3 Fehlerbehandlung in VBA 13.3.1 Elemente der Fehlerbehandlung 13.3.2 Fehlerbehandlung einleiten 13.3.3 Klassischer Aufbau einer Fehlerbehandlung 13.3.4 Fehler auswerten 13.3.5 Das Err-Objekt 13.3.6 Nach der Fehlerbehandlung 13.3.7 Fehlernummern und -beschreibungen 13.3.8 Benutzerdefinierte Fehlerbehandlung temporär ausschalten 13.3.9 Funktionale Fehlerbehandlung 13.3.10 Benutzerdefinierte Fehler 13.3.11 Fehler bei API-Aufrufen 13.4 Fehlerdokumentation und -übermittlung 13.4.1 Wichtige Fehlerinformationen 13.4.2 Zeilen nummerieren 13.4.3 Einsatz der accessVBATools 13.5 Fehlerbehandlung in Formularen 13.5.1 Behandlung von Formularfehlern 13.5.2 Formularfehler dokumentieren 673
673
675
676
678
680
680
682
684
687
691
691
692
694
695
695
696
696
697
699
699
701
701
702
702
703
704
704
705
705
705
706
709
710
711
712
712
714
719
720
721
14 Performance 723
14.1 Tabellen 723
19
Inhalt
14.2
14.3
14.4
14.5
14.6
14.7
14.1.1 Normalisieren des Datenmodells 14.1.2 Indizes 14.1.3 Datentypen Abfragen 14.2.1 Abfragen und die ACE-Engine 14.2.2 Datenbank mit kompilierten Abfragen ausliefern 14.2.3 Gespeicherte Abfragen versus Ad-hoc-Abfragen 14.2.4 Abfragen auf Performance trimmen Formulare 14.3.1 Formulare offen halten oder schließen? 14.3.2 Daten des Formulars 14.3.3 Steuerelemente 14.3.4 VBA in Formularen Berichte 14.4.1 Datensatzquelle unsortiert übergeben 14.4.2 Keine Funktionen und Ausdrücke in Sortierungen und
Gruppierungen 14.4.3 Bericht nur öffnen, wenn er Daten enthält VBA 14.5.1 Performance von VBA-Code optimieren 14.5.2 Punkt oder Ausrufezeichen 14.5.3 Datenzugriff optimieren Sonstige Performance-Tipps 14.6.1 Verwendung als .accde-Datei 14.6.2 Exklusiver Zugriff bei Einzelplatzanwendungen 14.6.3 Komprimieren der Datenbank 14.6.4 Objektnamen-Autokorrektur abschalten 14.6.5 Unterdatenblätter abschalten 14.6.6 Rechtschreibprüfung ausschalten Performance-Unterschiede messen 14.7.1 Werkzeug für Performance-Tests selbst gebaut 15 Objektorientierte Programmierung 15.1 Abstrakte Datentypen, Klassen und Objekte 15.2 Objekte 15.2.1 Eingebaute Objekte 15.2.2 Erzeugen eines Objekts 15.2.3 Zugriff auf die Methoden, Eigenschaften und Ereignisse eines
Objekts 15.2.4 Lebensdauer eines Objekts 15.3 Klassenmodule 15.3.1 Anlegen eines Klassenmoduls 15.3.2 Benennen des Klassenmoduls 15.4 Eigenschaften einer Klasse 15.4.1 Öffentliche und nicht öffentliche Eigenschaften 15.4.2 Zugriff auf die Eigenschaften einer Klasse kontrollieren 20
723
725
727
728
728
734
735
735
737
737
737
738
741
742
743
743
743
744
744
754
754
755
756
756
756
756
757
757
757
758
769
772
773
774
778
778
779
780
780
780
781
782
783
Herunterladen