Access 2007 - das Grundlagenbuch für Entwickler:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
München [u.a.]
Addison-Wesley
2007
|
Schriftenreihe: | Programmer's choice
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Frühere Ausg. u.d.T.: Minhorst, André: Das Access-2003-Entwicklerbuch |
Beschreibung: | 1025 S. zahlr. Ill., graph. Darst. CD-ROM (12 cm) |
ISBN: | 9783827324603 3827324602 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV022255960 | ||
003 | DE-604 | ||
005 | 20180809 | ||
007 | t| | ||
008 | 070205s2007 xx ad|| |||| 00||| ger d | ||
016 | 7 | |a 98266656X |2 DE-101 | |
020 | |a 9783827324603 |9 978-3-8273-2460-3 | ||
020 | |a 3827324602 |9 3-8273-2460-2 | ||
035 | |a (OCoLC)162473226 | ||
035 | |a (DE-599)BVBBV022255960 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
049 | |a DE-91G |a DE-824 |a DE-12 |a DE-Aug4 |a DE-N2 |a DE-523 |a DE-11 |a DE-525 |a DE-2070s |a DE-92 | ||
082 | 0 | |a 005.7565 |2 22/ger | |
084 | |a ST 271 |0 (DE-625)143639: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 660f |2 stub | ||
100 | 1 | |a Minhorst, André |e Verfasser |0 (DE-588)124053866 |4 aut | |
245 | 1 | 0 | |a Access 2007 - das Grundlagenbuch für Entwickler |c André Minhorst |
264 | 1 | |a München [u.a.] |b Addison-Wesley |c 2007 | |
300 | |a 1025 S. |b zahlr. Ill., graph. Darst. |e CD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Programmer's choice | |
500 | |a Frühere Ausg. u.d.T.: Minhorst, André: Das Access-2003-Entwicklerbuch | ||
650 | 0 | 7 | |a Access 2007 |0 (DE-588)7564284-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Access 2007 |0 (DE-588)7564284-0 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015466679&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-015466679 |
Datensatz im Suchindex
_version_ | 1815710523717582848 |
---|---|
adam_text |
Inhalt
Vorwort. 27
1 Warum Access 2007? 31
1.1 Die Benutzeroberfläche . 32
1.1.1 Navigationsbereich statt Datenbankfenster . 33
1.1.2
Ribbon
statt Menü-und Symbolleisten. 35
1.1.3 Neuer Optionen-Dialog . 36
1.1.4 Neuer Startbereich . 37
1.1.5 Neue Onlinehilfe . 37
1.2 Neues Datenbankformat . 37
1.3
Runtime
gratis . 38
1.4
Goodbye
Sicherheitssystem . 38
1.5 Neue Sicherheitsfunktionen. 39
1.6
Bye-bye
Replikation. 40
1.7 Adieu Datenzugriffsseiten. 40
1.8
АСЕ
— die neue Jet-Engine . 40
1.9
MDI
vs.
SDI
oder »Jedem Objekt sein Register« . 40
1.10 Neuer Datentyp: Anlagefeld . 41
1.11 Mehrwertige Felder . 41
1.12 Weitere Neuigkeiten zu Felddatentypen und Steuerelementen. 42
1.12.1
Rich-Text
. 42
1.12.2 Historie in Memofeldem. 43
1.12.3 Datumssteuerelement. 43
1.12.4 Schaltflächen mit Bild und Text. 43
1.12.5 Kombinationsfelder und Listenfelder . 43
1.12.6 Bildsteuerelement mit Steuerelementinhalt. 44
1.12.7 Zu große Zahlen ersetzen. 44
1.13 Neues in Tabellen. 44
1.13.1 Alternative Hintergrundfarbe . 44
1.13.2 Entwurf in der Datenblattansicht von Tabellen. 45
1.14 Neues bei den Formularen . 45
1.14.1 Layoutansicht. 45
1.14.2 Geteilte Ansicht. 46
1.14.3 Filtern und Sortieren . 46
1.14.4 Berechnungen auf Spaltenbasis . 47
1.14.5 Vereinfachtes
Layouten
. 47
1.14.6 Verankern von Steuerelementen . 47
1.14.7 AutoHeight für Formularbereiche . 48
1.15 Neues bei Berichten. 48
1.15.1 Berichtsansicht. 48
Inhalt_ _
1.15.2 Neues bei Makros . 49
1.16 VBA . 49
1.16.1
Temp
Vars
. 50
1.16.2 VBA in Formularen, Steuerelementen, Berichten und
DAO
. 52
1.17 Sonstige Neuheiten . 52
1.17.1 Neuer Farbauswahldialog. 52
1.17.2 ClearType-Fonts in Access . 52
1.17.3 Neue Schriftarten . 53
1.17.4 Import und Export . 53
1.17.5 PDF-Export . 53
1.17.6 Daten sammeln per E-Mail . 53
1.17.7 SharePoint. 54
2 Tabellen und Datenmodellierung 55
2.1 Techniken zur Datenmodellierung . 57
2.1.1 Tabellen anlegen. 57
2.1.2 Felder hinzufügen . 58
2.1.3 Schlüssel festlegen . 69
2.1.4 Eigenschaften festlegen . 72
2.1.5 Beziehungen herstellen . 75
2.1.6 Nachschlagefelder mit Wertliste . 82
2.1.7 Tabelleninformationen im Überblick. 85
2.2 Namenskonventionen für Tabellen und Felder. 86
2.2.1 Tabellennamen. 87
2.2.2 Feldnamen . 89
2.3 Normalisierung . 91
2.3.1 Die erste Normalform . 93
2.3.2 Die zweite Normalform . 98
2.3.3 Die dritte Normalform . 101
2.3.4 Weitere Normalformen. 103
2.3.5 Das richtige Maß treffen . 103
2.4 Integritätsregeln. 103
2.4.1 Integrität der Werte (Wertbereichsintegrität) . 103
2.4.2 Format der Werte (semantische Integrität) . 104
2.4.3 Abhängigkeit von Feldinhalten (Attributintegrität). 105
2.4.4 Eindeutige Datensätze (Entitätsintegrität) . 105
2.4.5 Referentielle Integrität. 107
2.5 Beziehungen. 107
2.5.1 Benennen von Primär-und Fremdschlüsselfeldern. 109
2.5.2 Halbautomatisches Festlegen von Beziehungen. HO
2.5.3 Festlegen referentieller Integrität. 111
2.5.4
l:n-Beziehungen
. 113
2.5.5 n:l-Beziehungen oder Lookup-Beziehungen 113
2.5.6 ircn-Beziehungen. . 117
2.5.7
l:l-Beziehungen
. 119
2.5.8 Reflexive Beziehungen . 124
Inhalt
2.6 Autowerte als
Long
oder GUID? . 127
2.7 Datenmodell-Muster . 128
2.7.1 Adressen-ZKundenverwaltung . 128
2.7.2 Rezepteverwaltung . 131
2.7.3 Artikelverwaltung . 132
2.7.4 CD-Verwaltung . 134
2.7.5 Projektverwaltung . 136
2.7.6 Mitarbeiterverwaltung . 136
2.7.7 Literaturverwaltung. 138
2.7.8 Mitgliederverwaltung . 138
2.7.9 Urlaubsverwaltung . 140
2.7.10 Aufgabenverwaltung . 141
2.7.11 Projektzeitverwaltung . 143
2.7.12 Kunden und Weihnachtsgeschenke . 144
2.7.13 Fahrtenbuch . 145
3 Abfragen . 147
3.1 Anlegen von Abfragen mit Access 2007. 148
3.2 Abfragen mit Anlage-Feldern und mehrwertigen Feldern . 149
3.3 Verwendung von Abfragen als Datensatzquelle oder Datensatzherkunft. 151
3.3.1 Tabelle als Datensatzquelle . 151
3.3.2 SQL-Ausdruck als Datensatzquelle. 152
3.3.3 Gespeicherte Abfrage als Datensatzquelle . 153
3.3.4 Datensatzquelle per VBA zuweisen. 153
3.3.5 Parameter statt Zusammensetzen von SQL-Ausdrücken . 154
3.3.6 Abfragen mit Parameter oder zusammengesetzte
SQL-Ausdrücke? . 158
3.3.7 Probleme mit Kriterienausdrücken bei SQL-Ausdrücken in VBA . 158
3.3.8 Zeichenkette oder Zahlenwert? . 158
3.3.9 Probleme mit Datumsangaben. 160
3.3.10 Verweis auf Steuerelemente . 162
3.4 Aktualisierbarkeit von Abfragen. 162
3.4.1 Wie erkennen Sie, ob das Abfrageergebnis aktualisierbar ist? . 163
3.4.2 Nicht aktualisierbare Abfragen . 163
3.5 UNION-Abfragen . 165
3.5.1 UNION-Abfragen zur Optimierung von Kombinationsfeldern. 165
3.5.2 Eindeutige Schlüssel mit UNION-Abfragen. 167
3.5.3
INSERT INTO
mit UNION-Abfragen. 168
3.6 Suchen in m:n-Beziehungen . 169
3.7 Handhabung von lrl-Beziehungen . 172
3.8 Extremwerte per Abfrage ermitteln. 177
3.8.1 Extremwert einer Gruppierung ermitteln. 177
3.8.2 Extremwert per TOP und ORDER
BY
. 178
3.8.3 Extremwerte per Unterabfrage . . 178
3.8.4 Extremwerte von Gruppierungen. 179
3.9 Datensätze mehrfach anzeigen . 181
Inhalt_
3.10 Nummerierung von Datensätzen. 182
3.10.1 Alternative:
Nummerieren
per Unterabfrage . 183
3.10.2 Nummerierung von Abfrageergebnissen mit alternativen
Sortierungen. 184
3.10.3 Nummerierung von Abfrageergebnissen mit eingeschränkten
Ergebnismengen . 184
3.11 Reflexive l:n-Beziehungen . 184
3.12 Reflexive m:n-Beziehungen . 186
4 Formulare.187
4.1 Formulare in Access 2007. 188
4.1.1 Anlegen eines Formulars . 188
4.1.2 Formularansichten . 192
4.1.3 Geteilte Formulare . 196
4.1.4 Hilfreiche Funktionen für den Formularentwurf. 198
4.1.5 Sonstige Neuerungen . 201
4.1.6 Formularvorlage . 204
4.2 Formulare öffnen. 205
4.3 Ereignisse in Formularen und Steuerelementen. 206
4.3.1 Ereignisse in Formularen . 206
4.3.2 Abfolge und Bedeutung der Ereignisse beim Öffnen und Schließen
eines Formulars . 209
4.3.3 Abfolge und Bedeutung der Ereignisse beim Bearbeiten von
Datensätzen. 210
4.4 Ereignisse von Steuerelementen . 212
4.5 Abbildung verschiedener Beziehungsarten. 216
4.5.1 Einfache Daten in der Detailansicht. 216
4.5.2 Einfache Daten in der Übersicht mit Endlosformularen . 220
4.5.3 Einfache Daten in der Übersicht als Datenblatt. 224
4.5.4 Daten in der Übersicht als Listenfeld . 229
4.5.5 l:l-Beziehungen. 231
4.5.6 n:l-Beziehungen. 232
4.5.7 lrn-Beziehungen. 233
4.5.8 l:n-Beziehung per Unterformular und Datenblattansicht. 234
4.5.9 lavBeziehung per Listenfeld . 238
4.5.10 m:n-Beziehungen in Haupt- und Unterformular . 240
4.5.11
rtr.n-Beziehungen
per Listenfeld . 246
4.5.12 Reflexive Beziehungen. 253
4.6 Von Formular zu Formular . 256
4.7 Besonderheiten von Unterformularen . 260
4.7.1 Eingabe von Daten ohne Detaildatensatz. 260
4.7.2
Undo
in Haupt-und Unterformular . 262
4.8 Eingabevalidierung . . 275
4.8.1
Validieren
direkt bei der Eingabe. 275
4.8.2
Validieren
vor dem Speichern. 276
4.8.3 Sonderfälle beim
Validieren
. . 279
10
Inhalt
4.9 Suchen in Formularen. 280
4.9.1 Schnelles Suchen in Formularen. 280
4.9.2 Schnelles Filtern in der Datenblattansicht . 281
4.9.3 Schnellauswahl per Kombinationsfeld . 282
4.9.4 Schnelles Filtern von Listenfeldern. 284
5 Steuerelemente. 289
5.1 Textfelder. 289
5.1.1
Rich-Text in
Textfeldern. 289
5.1.2 Datum auswählen . 291
5.1.3 Texte als Hyperlink anzeigen . 292
5.1.4 Abgeschnittene Zahlenfelder . 292
5.2 Schaltflächen . 292
5.3 Kombinationsfelder . 293
5.3.1 Wertliste erben. 295
5.3.2 Formular zum Bearbeiten anzeigen . 295
5.3.3 Wachsen und Schrumpfen. 295
5.3.4 Hyperlinks . 295
5.3.5 Mehrwertige Felder. 295
5.4 Kombinationsfeld-Techniken. 296
5.4.1 Kombinationsfeld aufklappen . 296
5.4.2 Auswahlen-Eintrag hinzufügen.,. 296
5.4.3 Abhängige Kombinationsfelder . 297
5.4.4 Bestimmten Eintrag auswählen. 298
5.4.5 Aktuell markierten Eintrag auslesen . 299
5.4.6 Wert zu einem gebundenen Kombinationsfeld hinzufügen. 299
5.4.7 Weitere Techniken . 300
5.5 Listenfelder. 300
5.5.1 Mehrfachauswahl auslesen. 300
5.5.2 Ja/Nein-Felder im Listenfeld anzeigen. 301
5.5.3 Weitere Techniken . 302
5.6 Unterformulare .,. 302
5.7 Das Anlagen-Steuerelement . 303
5.8 Optionsgruppe, Umschaltfläche, Kontrollkästchen, Bildsteuerelement
und
Co
. 303
5.9 Weitere Steuerelementeigenschaften . 303
5.9.1 Steuerelemente verankern. 303
5.9.2 Layout oder nicht?. 305
5.9.3 Gitternetzlinien . 305
5.9.4 Textabstand. 306
5.10 Das TreeView-Steuerelement. 306
5.10.1
Tree
View anlegen. 307
5.10.2 Eigenschaften des
Tree
View-Steuerelements . 311
5.10.3 Erzeugen eines Baumes . . . 311
5.10.4 Stil einstellen. 313
5.10.5 Element-Eigenschaften per VBA zuweisen. 314
11
Inhalt
5.10.6 Symbole im
Tree View
. 315
5.10.7 Daten aus Tabellen im
Tree
View-Steuerelement darstellen. 315
5.10.8 Daten aus verknüpften Tabellen anzeigen. 316
5.10.9 Reflexive Daten im
Tree
View-Steuerelement. 318
5.10.10
Tree View
füllen bei großen Datenbeständen. 320
5.10.11 Elemente erst bei Bedarf anlegen. 321
5.10.12 Neuzeichnen des Baumes verhindern . 323
5.10.13 Drag and Drop im
Tree
View-Steuerelement. 324
5.10.14 VBA-Ereignisprozeduren für Drag and Drop einrichten. 324
5.11 ListView . 328
5.11.1 Möglichkeiten des ListView-Steuerelements . 329
5.11.2 Füllen des ListView-Steuerelements . 330
5.11.3 Eigenschaften des ListView-Steuerelements . 331
5.11.4 Sortieren von ListView-Einträgen . 332
5.11.5 Einträge des ListView-Steuerelements auswählen. 334
5.11.6 ListView-Steuerelement mit Daten füllen. 337
5.11.7
Icons
im ListView-Steuerelement. 340
5.11.8 Drag and Drop mit dem ListView-Steuerelement. 345
5.11.9 Reihenfolge per Drag and Drop einstellen. 350
5.12 Das ImageList-Steuerelement. 354
5.13 Tipps und Tricks zu Steuerelementen . 358
5.13.1 Standardeinstellungen speichern. 358
5.13.2 Autoformate . 359
6 Berichte.361
6.1 Berichte erstellen . 361
6.1.1 Anlegen eines Berichts. 362
6.1.2 Vereinfachtes
Layouten
. 364
6.1.3 Einheitliches Design mit Autoformat. 365
6.1.4 Wechselnde Hintergrundfarbe . 366
6.1.5 Bedingte Formatierung. 366
6.1.6 Sonstige Layout-Vereinfachungen. 367
6.1.7 Berichtsbereiche. 367
6.1.8 Berichtsansichten . 368
6.1.9 Gruppieren und sortieren. 368
6.2 Berichte anzeigen .,. 368
6.3 Filtern und sortieren. 369
6.3.1 Filtern und Sortieren in der Berichtsvorschau . 371
6.3.2 Filtern, Sortieren und Gruppieren
in der Layoutansicht. 371
6.3.3 Filtern in der Layoutansicht .,. 372
6.3.4 Sortieren in der Layoutansicht . 372
6.3.5 Gruppieren in der Layoutansicht .,. 373
6.3.6 Summen in der Layoutansicht. 375
6.4 Berichtsbereiche und Ereignisse. 376
6.4.1 Berichtsbereiche . . 376
12
Inhalt
6.4.2 Ereignisse in Berichten. 377
6.4.3 Zusammenfassung der Berichtsereignisse . 378
6.4.4 Zusammenfassung der Bereichsereignisse . 378
6.4.5 Zugriff auf die Berichtsbereiche . 380
6.5 Beispiele für den Einsatz der Berichts- und Bereichsereignisse in der
Seitenansicht . 381
6.5.1 Beim Öffnen: Auswertung von Öffnungsargumenten . 381
6.5.2 Bei Aktivierung und Bei Deaktivierung:
Berichtsabhängige Funktionen ein- und ausschalten . 384
6.5.3 Bei Ohne Daten: Öffnen leerer Berichte vermeiden . 385
6.5.4 Bei Fehler: Fehler abfangen . 385
6.5.5 Bei Seite: Seiten verschönern . 385
6.5.6 Beim Formatieren: Layout anpassen . 387
6.5.7 Beim Drucken . 388
6.6 Wichtige Eigenschaften von Berichten und Berichtsbereichen. 390
6.6.1 Kopfzeilenbereich und Fußzeilenbereich . 391
6.6.2 Gruppieren nach und Intervall . 392
6.6.3 Zusammenhalten von Daten . 393
6.6.4 Neue Seite, Zeile oder Spalte . 393
6.6.5 Vergrößerbar und Verkleinerbar. 394
6.6.6 Bereich wiederholen. 395
6.7 Darstellung von Daten. 395
6.7.1 Einzelne Tabellen . 396
6.7.2
l:n-Beziehungen
. 400
6.7.3 m:n-Beziehungen. 403
6.8 Berichte mit Unterberichten. 404
6.8.1 Unterberichte . 404
6.8.2 Einbinden der Unterberichte in den Hauptbericht. 404
6.8.3 Unterberichte über mehrere Seiten. 407
6.9 Rechnungserstellung mit Berichten. 407
6.9.1 Konzept für die Erstellung des Berichts . 410
6.9.2 Erstellen des Gruppenkopfs . 410
6.9.3 Anlegen des Detailbereichs . 411
6.9.4 Berechnungen in Berichten oder Berechnungen in Formularen. 412
6.9.5 Summenbildung im Fußbereich der Gruppierung. 412
6.9.6 Feinheiten: Zwischensumme und Übertrag . 413
6.9.7 Überschriften für Folgeseiten und Rechnungsübertrag . 413
6.9.8 Rechnungsentwurf im Zusammenhang und Restarbeiten. 414
6.10 Die Berichtsansicht . 419
6.11 Anwendungsbeispiel für die Berichtsansicht. 420
7 VBA 425
7.1 VBA-Neuigkeiten in Access 2007 426
7.2 Namenskonventionen in VBA 426
7.3 Layout von Code 427
7.3.1 Funktionalität vor Schönheit? . 427
13
Inhalt
7.3.2 Code einrücken zur Verdeutlichung der logischen Struktur . 428
7.3.3 Leerzeilen für bessere Lesbarkeit. 430
7.3.4 Zeilenumbrüche . 431
7.3.5 Anweisungen zusammenfassen. 432
7.4 Kommentare . 433
7.5 Konstanten . 434
7.6 Variablen . 437
7.6.1 Variablennamen . 437
7.6.2 Spezielle Variablennamen. 438
7.6.3
Arrays
. 439
7.6.4 Benutzerdefinierte Typen . 440
7.6.5 Alle Variablen verwenden. 441
7.6.6 Globale Variablen. 441
7.7 Kontrollstrukturen . 441
7.7.1
K.-.Then-Anweisung
. 441
7.7.2
Select Case .
444
7.7.3 For^Next-Schleifen . 445
7.7.4
For Each-Schleifen
. 446
7.7.5 Do.-.Loop-Schleifen und Varianten. 447
7.7.6
Exit
. 448
7.7.7 Die GoTo-Anweisung und Sprungmarken. 449
7.8 Routinen . 450
7.8.1 Routinenarten . 450
7.8.2 Routinennamen . 451
7.8.3 Starker Zusammenhalt von Routinen. 453
7.8.4 Lose Kopplung zwischen Routinen . 453
7.8.5 Parameter und Rückgabewerte einer Routine . 453
7.8.6 Gleichzeitige Rückgabe von Statuswert und Ergebnis . 456
7.8.7 Alle Routinen verwenden . 457
8 Access-SQL.459
8.1 SQL-Versionen . 459
8.2 SQL und Access. 460
8.2.1 Wozu trotz Abfrage-Entwurfsansicht SQL lernen? . 461
8.2.2 Wo lässt sich SQL überall einsetzen? . 462
8.3 Daten auswählen . 463
8.3.1 Festlegen der anzuzeigenden Felder. 464
8.3.2 Festlegen der enthaltenen Tabellen. 465
8.3.3 Festlegen von Bedingungen .,. 466
8.3.4 Vergleichsausdrücke. 467
8.3.5 Sortieren von Daten . 470
8.3.6 Aggregatfunktionen. 471
8.3.7 Gruppieren von Daten . 472
8.3.8
WHERE,
GROUP
BY, HAVING
und ORDER
BY
im Überblick . 475
8.3.9 Verknüpfen von Tabellen in Abfragen. 475
8.3.10 Zugriff auf externe Datenquellen . 485
14
Inhalt
8.3.11 Zugriff auf Felder des Datentyps Anhang und mehrwertige
Felder 485
8.4 Daten manipulieren . 486
8.4.1 Daten aktualisieren . 486
8.4.2 Datenlöschen. 487
8.4.3 Daten an bestehende Tabelle anfügen . 487
8.4.4 Neue Tabelle mit Daten erstellen. 489
8.5 Datenmodell erstellen und manipulieren . 490
8.5.1 Tabellenerstellen . 490
8.5.2 Primärschlüssel, Indizes und Einschränkungen
mit
CONSTRAINT
. 493
8.5.3 Tabelle ändern. 499
8.5.4 Tabelle löschen. 500
8.5.5 Index löschen. 500
9
DAO
. 501
9.1
DAO
und
ADO
im Einsatz . 503
9.2 Das DAO-Objektmodell . 504
9.2.1 Zugriff auf die Elemente des Objektmodells . 504
9.2.2 Deklarieren und Instanzieren . 506
9.2.3 Auf Auflistungen zugreifen. 507
9.2.4 Punkte und Ausrufezeichen. 508
9.3 DBEngine . 509
9.4
Workspace
— Arbeitsbereich oder Sitzung? . 509
9.4.1 Auflistungen des Workspace-Objekts . 510
9.4.2 Aufgaben des Workspace-Objekts . 510
9.4.3 Datenbanken erzeugen und öffnen. 511
9.5 Aktuelle Datenbank referenzieren. 511
9.5.1 Users und
Groups
. 513
9.6 Das Database-Objekt. 514
9.6.1 Manipulation des Datenmodells . 514
9.6.2 Erstellen einer Tabelle. 514
9.6.3 Autowert anlegen . 517
9.6.4 Attachment-Feld anlegen. 517
9.6.5 Mehrwertige Felder anlegen. 518
9.6.6 Löschen einer Tabelle . 521
9.6.7 Erstellen eines Index. 522
9.6.8 Löschen eines Index . 523
9.6.9 Erstellen einer Beziehung. 524
9.6.10 Löschen einer Beziehung. 526
9.6.11 Erstellen von Eigenschaften . 526
9.6.12 Zugriff auf Auflistungen und Elemente . 526
9.6.13 Datensatzgruppen erstellen mit OpenRecordset . 528
9.6.14 Ausführen von Aktionsabfragen. 533
9.7 Daten bearbeiten mit dem
Recordset-
und dem
. 534
15
Inhalt _
9.7.1 Methoden und Eigenschaften des Recordset2-Objekts . 534
9.7.2 Datensätze durchlaufen. 536
9.7.3 Alle Datensätze durchlaufen . 536
9.7.4 Zu bestimmten Datensätzen springen. 537
9.7.5 Aktuelle Position des Datensatzzeigers ermitteln . 537
9.7.6 Anzahl der Datensätze ermitteln. 539
9.7.7 Daten aus Datensätzen ausgeben. 541
9.7.8 Datensätze suchen. 542
9.7.9 Die Seek-Methode zum Suchen in Table-Recordsets . 542
9.7.10 Die Find-Methoden zum Suchen in
Dynaset-
und
Snapshot-Recordsets
. 543
9.7.11 Alle Datensätze mit einem bestimmten Kriterium finden . 544
9.7.12 Lesezeichen. 545
9.8 Sortieren und Filtern von Datensätzen . 546
9.8.1 Sortieren mit der Sort-Eigenschaft . 546
9.8.2 Sortieren mit der Index-Eigenschaft. 547
9.8.3 Filtern mit der Filter-Eigenschaft. 548
9.9 Daten bearbeiten . 549
9.9.1 Anlegen eines Datensatzes . 549
9.9.2 Bearbeiten eines Datensatzes . 550
9.9.3 Löschen eines Datensatzes . 550
9.9.4 Umgang mit Attachments . 551
9.9.5 Attachment-Felder auslesen. 551
9.9.6 Dateien aus einem Attachment-Feld auf der Festplatte speichern . 555
9.9.7 Datei in Attachment-Feldern speichern. 557
9.9.8 Löschen von Dateien in Attachment-Feldern. 558
9.9.9 Ersetzen eines Attachments . 558
9.9.10 Umgang mit mehrwertigen Feldern . 559
9.9.11 Lesen des Inhalts von mehrwertigen Feldern, Variante
I
. 560
9.9.12 Lesen des Inhalts mehrwertiger Felder, Variante
II
. 561
9.10 QueryDefs — Auswahl oder Aktion nach Wahl . 561
9.11 Transaktionen. 562
10
ADO
. 567
10.1 Zugriff auf eine Datenquelle herstellen . 568
10.2 Manipulation des Datenmodells . 571
10.2.1 Anlegen einer Tabelle . 571
10.2.2 Autowert anlegen . 573
10.2.3 Löschen einer Tabelle. 573
10.2.4 Erstellen eines Index . 574
10.2.5 Löschen eines Index. 575
10.2.6 Erstellen einer Beziehung . 575
10.2.7 Löschen einer Beziehung . 577
10.3 Zugriff auf Tabellen, Abfragen und die darin enthaltenen Daten . 577
10.3.1 Ausgeben aller Tabellen . 577
10.3.2 Prüfen, ob eine Tabelle vorhanden ist. 578
16
Inhalt
10.3.3 Datensatzgruppe auf Basis einer Tabelle öffnen. 578
10.3.4 Cursor-Typen . 579
10.3.5 Sperrung von Daten. 579
10.3.6 Datensätze eines
Recordsets
durchlaufen . 580
10.3.7 Daten eines
Recordsets
mit mehrwertigen Feldern ausgeben . 580
10.3.8 Daten eines
Recordsets
mit Attachment-Feldern ausgeben . 581
10.3.9 Anzahl der Datensätze in einer Datensatzgruppe ermitteln. 582
10.3.10 Prüfen, ob eine Datensatzgruppe leer ist. 582
10.3.11 Ausgabe des Inhalts eines
Recordsets
. 583
10.3.12 Speichern der Daten in einem
Array
. 583
10.3.13 Abfragen mit Parametern verwenden. 584
10.4 Datensätze suchen . 585
10.4.1 Gesuchte Datensätze per Source-Eigenschaft des
Recordsets
ermitteln . 585
10.4.2
Seek
. 586
10.4.3 Find . 588
10.4.4 Filtern. 589
10.4.5 Sortieren. 590
10.4.6 Lesezeichen. 591
10.5 Datensätze bearbeiten . 591
10.5.1 Datensatz anlegen .,.,. 591
10.5.2 Datensatz bearbeiten. 592
10.5.3 Datensatz löschen. 593
10.5.4 Aktionsabfragen ausführen . 593
10.6 Transaktionen.,. 593
10.7 Besonderheiten von
ADO
gegenüber
DAO
. 594
10.7.1 Datensatzgruppe speichern . 594
10.7.2 Datensatzgruppe laden .,. 594
10.7.3 Ungebundene
Recordsets
verwenden . 595
10.7.4
Disconnected Recordsets
. 596
10.7.5 Ereignisse von Datensatzgruppen. 599
11 Bilder und binäre Dateien 601
11.1 Bilder und Dateien als Anlage speichern . 602
11.2 Bilder aus Anlage-Feldern in Formularen anzeigen. 604
11.3 Bilder aus Anlage-Feldern in Berichten anzeigen. 607
11.4 Bilder und Dateien aus Anlage-Feldern auf der Festplatte speichern . . 608
11.5 Dateien per VBA in Anlage-Felder importieren und exportieren . 609
11.5.1 Importieren von Dateien in Anlage-Felder 610
11.5.2 Exportieren von Dateien aus dem Anlage-Feld 612
11.6 Bilder und Dateien im OLE-Feld einbetten oder verknüpfen. 614
11.7 Bilder und Dateien als Binärstrom im OLE-Feld speichern 615
11.8 Bilder und Dateien im binären Format
aus einem OLE-Feld wiederherstellen 617
11.9 Bilder von der Festplatte in Formularen
und Berichten anzeigen 619
17
Inhalt
11.9.1 Anzeigen externer Bilddateien im Formular. 619
11.9.2 Anzeige externer Bilddateien in Berichten. 621
11.9.3 Alternative zum Bildsteuerelement von Access . 622
11.10 Die Office Graphics Library. 624
11.10.1 Bilder aus dem OLE-Feld in einem Formular anzeigen . 624
11.10.2 Bild aus einem OLE-Feld wiederherstellen. 627
11.10.3 Speichern in verschiedenen Formaten. 628
11.10.4 Bilderbearbeiten. 629
11.10.5 Ersatz für Anlagen? . 630
12
Ribbon
. 631
12.1 Definition des
Ribbons
. 632
12.2 Symbolleiste für den Schnellzugriff. 633
12.3 Eigene Ribbon-Tabs erstellen . 636
12.3.1 Ein einfaches
Ribbon
. 637
12.3.2 Schaltfläche mit Funktion versehen . 639
12.4 Fehler in Ribbon-XML-Dokumenten erkennen . 641
12.5 Callback-Funktionen . 642
12.5.1 Die
get-.-Attribute
. 642
12.5.2 Ereigniseigenscharten . 643
12.5.3 Umgang mit Callback-Funktionen. 644
12.6 Weitere Ribbon-Steuerelemente . 646
12.6.1 Schaltflächen . 646
12.6.2 Kontrollkästchen (checkBox) . 650
12.6.3 Textfelder . 650
12.6.4 Kombinationsfelder
I:
Das comboBox-Element . 652
12.6.5 Kombinationsfelder
II:
Das dropDown-Element. 656
12.6.6 Umschaltflächen. 658
12.6.7 Galerien. 659
12.6.8 Menüs
(menu)
. 661
12.6.9 Splitbuttons (splitButton) . 663
12.6.10 Gruppendialog anzeigen . 664
12.6.11 Trennstrich
(separator)
. 665
12.7 Weitere Anpassungen des
Ribbons
. 665
12.7.1 Tastenkombinationen . 666
12.7.2 Alle
Ribbons
ausblenden . 667
12.7.3 Ribbon-Leiste minimieren. 667
12.7.4 Ein
tab-Element
ein- und ausblenden. 668
12.7.5 Eine Gruppe ein- und ausblenden. 668
12.7.6 Ein Steuerelement ein-und ausblenden. 669
12.7.7 Eingebaute Steuerelemente aktivieren und deaktivieren . 669
12.7.8 Eingebaute Steuerelemente mit neuen Funktionen belegen. 670
12.7.9 Sonderzeichen in
Ribbon-Texten
. 670
12.7.10 Einen Eintrag zum Office-Menü hinzufügen . 670
12.7.11 Einträge des Office-Menüs ausblenden. 671
12.7.12 Einen Eintrag zur Schnellzugriffsleiste hinzufügen . 672
18
Inhalt
12.8
Ribbons
für Formulare und Berichte . 673
12.9 XML-Dokument mit Application.LoadCustomUI laden . 673
12.9.1 Dynamisches Aktualisieren des
Ribbons
. 675
12.9.2 Beispiel: Abhängige Kontrollkästchen. 676
12.10 Menü- und Symbolleisten aus bestehenden Access 2003-Anwendungen . 678
12.11 Übersicht über Ribbon-XML-Elemente und Attribute . 680
12.11.1 Auflistung der Ribbon-Elemente . 680
12.11.2 Attribute der Ribbon-Elemente . 682
12.11.3 Ereigniseigenschaften der Ribbon-Elemente . 684
12.11.4 Steuerelemente und ihre Eigenschaften. 687
13
Debugging,
Fehlerbehandlung und Fehlerdokumentation 691
13.1 Fehlerarten . 691
13.1.1 Syntaxfehler . 692
13.1.2 Laufzeitfehler . 694
13.1.3 Logische Fehler . 695
13.2
Debugging in
der VBA-Entwicklungsumgebung. 695
13.2.1 Die Debuggen-Symbolleiste . 696
13.2.2 Das Direktfenster. 696
13.2.3 Haltepunkte. 697
13.2.4 Die Aufrufliste . 699
13.2.5 Ausdrücke überwachen. 699
13.2.6 Das Lokal-Fenster.,. 701
13.3 Fehlerbehandlung in VBA. 701
13.3.1 Elemente der Fehlerbehandlung. 702
13.3.2 Fehlerbehandlung einleiten . 702
13.3.3 Klassischer Aufbau einer Fehlerbehandlung. 703
13.3.4 Fehler auswerten. 704
13.3.5 Das Err-Öbjekt. 704
13.3.6 Nach der Fehlerbehandlung . 705
13.3.7 Fehlernummern und -beschreibungen. 705
13.3.8 Benutzerdefinierte Fehlerbehandlung temporär ausschalten . 705
13.3.9 Funktionale Fehlerbehandlung . 706
13.3.10 Benutzerdefinierte Fehler. 709
13.3.11 Fehler bei API-Aufrufen. 710
13.4 Fehlerdokumentation und -Übermittlung . 711
13.4.1 Wichtige Fehlerinformationen . 712
13.4.2 Zeilen
nummerieren
. . 712
13.4.3 Einsatz der
accessVBATools
. 714
13.5 Fehlerbehandlung in Formularen 719
13.5.1 Behandlung von Formularfehlern . 720
13.5.2 Formularfehler dokumentieren . 721
14 Performance 723
14.1 Tabellen 723
19
Inhalt
14.1.1 Normalisieren des Datenmodells . 723
14.1.2 Indizes . 725
14.1.3 Datentypen . 727
14.2 Abfragen . 728
14.2.1 Abfragen und die ACE-Engine . 728
14.2.2 Datenbank mit kompilierten Abfragen ausliefern . 734
14.2.3 Gespeicherte Abfragen versus Ad-hoc-Abfragen. 735
14.2.4 Abfragen auf Performance trimmen . 735
14.3 Formulare . 737
14.3.1 Formulare offen halten oder schließen? . 737
14.3.2 Daten des Formulars . 737
14.3.3 Steuerelemente . 738
14.3.4 VBA in Formularen . 741
14.4 Berichte . 742
14.4.1 Datensatzquelle unsortiert übergeben . 743
14.4.2 Keine Funktionen und Ausdrücke in Sortierungen und
Gruppierungen . 743
14.4.3 Bericht nur öffnen, wenn er Daten enthält. 743
14.5 VBA. 744
14.5.1 Performance von VBA-Code optimieren . 744
14.5.2 Punkt oder Ausrufezeichen . 754
14.5.3 Datenzugriff optimieren. 754
14.6 Sonstige Performance-Tipps . 755
14.6.1 Verwendung als .accde-Datei . 756
14.6.2 Exklusiver Zugriff bei Einzelplatzanwendungen . 756
14.6.3 Komprimieren der Datenbank. 756
14.6.4 Objektnamen-Autokorrektur abschalten. 756
14.6.5 Unterdatenblätter abschalten . 757
14.6.6 Rechtschreibprüfung ausschalten . 757
14.7 Performance-Unterschiede messen . 757
14.7.1 Werkzeug für Performance-Tests selbst gebaut. 758
15 Objektorientierte Programmierung. 769
15.1 Abstrakte Datentypen, Klassen und Objekte. 772
15.2 Objekte. 773
15.2.1 Eingebaute Objekte. 774
15.2.2 Erzeugen eines Objekts . 778
15.2.3 Zugriff auf die Methoden, Eigenschaften und Ereignisse eines
Objekts. 778
15.2.4 Lebensdauer eines Objekts . 779
15.3 Klassenmodule.,. 780
15.3.1 Anlegen eines Klassenmoduls. 780
15.3.2 Benennen des Klassenmoduls . 780
15.4 Eigenschaften einer Klasse. 781
15.4.1 Öffentliche und nicht öffentliche Eigenschaften . 782
15.4.2 Zugriff auf die Eigenschaften einer Klasse kontrollieren . 783
20
Inhalt
15.4.3
Property Let:
Setzen von
skalaren
Variablen. 785
15.4.4
Property Set:
Setzen von Objektvariablen. 785
15.4.5
Property Get:
Lesen von
skalaren
Variablen und Objektvariablen . 786
15.4.6 Vertrauen ist gut, Kontrolle ist besser. 787
15.5 Methoden einer Klasse . 788
15.6 Standardereignisse in Klassen . 790
15.7 Benutzerdefinierte Ereignisse . 790
15.7.1 Ereignisse abfangen . 790
15.7.2 Eigene Ereignisse anlegen . 793
15.8 Benutzerdefinierte Auflistungen mit dem Collection-Objekt . 798
15.8.1 Auflistungen selbst gemacht . 799
15.8.2 Benutzerdefinierte Auflistungsklassen . 801
15.8.3 Nachbildung relationaler Beziehungen per Auflistungsklasse . 803
15.8.4 »Echtes« Objekt mit Auflistung. 808
15.9 Schnittstellen und Vererbung . 811
15.9.1 Beispiel für den Einsatz der Schnittstellenvererbung . 812
15.9.2 Vereinheitlichen per Schnittstellenvererbung. 814
15.9.3 Realisierung der Schnittstellenvererbung . 815
15.9.4 Was vom Beispiel übrig bleibt. . 817
16 Objektorientierung im Praxiseinsatz.819
16.1 Standardfunktionen von Formularen auslagern . 819
16.1.1 Formulare zur Datenbearbeitung . 820
16.1.2 Codeauslagerang am Beispiel der OK-Schaltfläche. 821
16.1.3 Abbrechen der Bearbeitung auslagern . 826
16.1.4 Löschen von Datensätzen auslagern. 827
16.1.5 Hinzufügen von Datensätzen auslagern . 829
16.1.6 Einstellen des Kombinationsfeldes für die Schnellauswahl. 829
16.1.7 Aktualisieren des Kombinationsfeldes . 831
16.1.8 Anzeige des im Kombinationsfeld ausgewählten Datensatzes . 833
16.1.9 Weitere Möglichkeiten. 834
16.2 Mehrere Formularinstanzen anzeigen . 834
16.2.1 Beispielformulare. 834
16.2.2 Erzeugen einer neuen Instanz . 835
16.2.3 Öffnen mehrerer Instanzen eines Formulars. 837
16.2.4 Formularinstanz-Sammlung . 837
16.2.5 Neue Formularinstanz erzeugen und zur
Collection
hinzufügen 838
16.2.6 Schließen aller Instanzen des Formulars 840
16.2.7 Schließen einer bestimmten Instanz 842
16.2.8 Schließen-Vorgang des Formulars anpassen 845
16.3 Mehrschichtige Anwendungen 846
16.3.1 Beispiel 847
16.3.2 Die GUI-Schicht 848
16.3.3 Die Business-Schicht 849
16.3.4 Die Datenzugriffsschicht 849
16.3.5 Die Datenschicht 850
21
Inhalt
16.3.6 Zusammenhänge der Objekte und Schichten. 850
16.3.7 Initialisieren des Formulars . 850
16.3.8 Initialisieren des Controller-Objekts . 852
16.3.9 Aufruf der Methode GetPersons der Business-Schicht. 852
16.3.10 Zugriff des Datenzugriffsobjekts auf die Datenschicht. 853
16.3.11 Die Klasse clsPerson. 855
16.3.12 Auswählen und Anzeigen eines Datensatzes . 856
16.3.13 Einlesen von Personen, die nicht in der
Collection
enthalten
sind . 858
16.3.14 Neuer Datensatz . 859
16.3.15 Speichern eines Datensatzes . 860
16.3.16 Datensatz neu anlegen oder aktualisieren? . 860
16.3.17 Neuen Datensatz anlegen . 861
16.3.18 Aktualisieren eines Datensatzes . 862
16.3.19 Löschen eines Datensatzes . 864
16.3.20 Businesslogik und mehr . 865
16.3.21 Objektklassen und Datenzugriffsobjekte automatisch erstellen . 866
17 Anpassen der Entwicklungsumgebung 869
17.1 Gründe für die Erweiterung der Entwicklungsumgebung . 872
17.1.1 Automatische Codegenerierung . 872
17.1.2 Fehlerbehandlung per Knopfdruck. 872
17.1.3
Nummerieren
von Codezeilen. 874
17.2 Programmieren der Entwicklungsumgebung . 874
17.3 Das Objektmodell der VBA-Entwicklungsumgebung. 876
17.3.1 Verweis für den Zugriff auf das VBE-Objektmodell einrichten . 876
17.3.2 Aufbau des Objektmodells . 877
17.4 Mit Modulen arbeiten. 878
17.4.1 Auflisten aller enthaltenen Module . 879
17.4.2 Anlegen eines neuen Moduls. 880
17.4.3 Entfernen eines Moduls . 881
17.5 Mit Prozeduren arbeiten . 881
17.5.1 Lesender Zugriff auf den Quellcode . 882
17.5.2 Zählen der Codezeilen des Moduls . 883
17.5.3 Zählen der Zeilen des Deklarationsbereichs eines Moduls . 883
17.5.4 Erste Zeile und Deklarationszeile einer Prozedur . 883
17.5.5 Zeilenanzahl einer Prozedur . 884
17.5.6 Anzahl der Codezeilen einer Prozedur . 884
17.5.7 Zu welcher Prozedur gehört eine Zeile? . 885
17.5.8 Ausgabe des kompletten Codes eines Moduls . 886
17.5.9 Ermitteln der Position der aktuellen Markierung. 887
17.5.10 Ermitteln des Inhalts der aktuellen Markierung . 888
17.5.11 In Modulen suchen . 889
17.6 Beispielanwendung: Codeviewer . 890
17.6.1 Anzeige der Module . 891
17.6.2 Anzeige der Prozedurliste . 893
22
Inhalt
17.6.3 Anzeige des Codes einer Prozedur . 897
17.7 Manipulieren des Quellcodes . 898
17.7.1 Code hinzufügen. 899
17.7.2 Ereignisprozeduren hinzufügen . 900
17.7.3 Löschen von Zeilen. 900
17.7.4 Beispielanwendung:
Nummerieren
von Codezeilen in einem
Modul . 901
17.8 Tbolwindows . 902
17.8.1 Benutzerdefiniertes Toolwindow = COM-Add-In . 903
17.8.2 Anlegen eines leeren Toolwindows . 904
17.8.3 Anlegen eines neuen Projekts . 905
17.8.4 Der COM-Add-In-Designer. 907
17.8.5 Das Userdocument als Toolwindow . 908
17.8.6 Ereignisprozeduren des COM-Add-Ins mit Leben füllen. 909
17.8.7 Anpassen der Eigenschaften des COM-Add-Ins . 914
17.8.8 Anzeige des Toolwindows beim Starten der VBA-
Entwicklungsumgebung . 915
17.8.9 Testen des neuen Toolwindows. 916
17.8.10 Das Toolwindow füllen. 917
17.9 COM-Add-Ins per Menübefehl aufrufen. 917
17.9.1 Vorbereitungen. 918
17.9.2 Objekte hinzufügen . 918
17.9.3 Eigenschaften der Addln
Class
anpassen . 920
17.9.4 Anpassen des Standardmoduls . 920
17.9.5 Weitere Einstellungen. 921
17.9.6 Projekt speichern . 921
17.9.7 Hinzufügen der Funktionen und Menüs . 922
18 Sicherheit von Access-Datenbanken 925
18.1 Code schützen per .accde-Datenbank. 926
18.2 Code schützen per Kennwort . 927
18.3 Einfacher Kennwortschutz mit Verschlüsselung . 928
18.4 Vertrauensstellungscenter. 929
18.5 Digitale Signaturen. 933
18.6 Schutz vor bösartigen SQL-Statements. 934
18.7 Kein Sicherheitssystem — was nun? . 935
18.7.1 Benutzer-und gruppenabhängige Benutzeroberfläche . 936
18.7.2 Daten schützen: Alternativen. 936
18.8 MySQL. 938
18.8.1 MySQL installieren. 940
18.8.2 Einfache Konfiguration . 942
18.8.3 MySQL-Anweisungen. 943
18.8.4 Sicherheit unter MySQL 945
18.8.5 Administrationstool für MySQL 945
18.8.6 Installation von MyODBC . 946
18.9 Access und MvSQL ." . 946
23
Inhalt
18.9.1
Upsizing
von Access-Datenbanken auf MySQL
18.9.2 Export von Tabellen nach MySQL.
18.9.3 Verwenden von MySQL-Datenbanken mit Access
18.9.4 Aktualisieren von Tabellen.
18.9.5 Internetverbindung mit MySQL.
18.9.6 Erstellen eines Profils mit PuTTY.
18.9.7 Testen des Tunnels.
946
947
951
951
952
953
954
19 Installation, Betrieb und Wartung
19.1
19.2
Verschiedene Access-Versionen auf demselben Rechner
Weitergabe von Access-Datenbanken.
19.2.1 Benutzerdefinierte Menüs.
19.2.2 Fehlerbehandlung.
19.3
19.4
19.5
957
. 957
. 958
. 959
. 960
19.2.3 Runtime-Simulation. 960
19.2.4 Weitergabe ohne
Runtime
. 960
Aktionen beim Starten oder Beenden der Datenbank durchrühren. 961
19.3.1 Code beim Starten einer Datenbank ausführen. 962
19.3.2 Formular beim Starten einer Datenbank anzeigen . 962
19.3.3 Aktion beim Schließen einer Datenbank ausführen. 962
Datenbanken komprimieren und reparieren. 964
Mehrbenutzerbetrieb mit Access-Datenbanken. 965
19.5.1 Aufteilen einer Access-Datenbank. 965
Tabellen in neue Datenbank importieren. 965
Tabellen aus der Ausgangsdatenbank löschen. 965
Tabellen als Verknüpfung einbinden. 966
Erneutes Einbinden der Tabellen nach Umbenennen oder
Verschieben des Backends. 966
Zeitpunkt zum Wiedereinbinden von Tabellen. 970
19.5.2
19.5.3
19.5.4
19.5.5
19.5.6
19.6 Sichern von Access-Datenbanken. 971
19.6.1 Voraussetzungen und Vorbereitungen. 971
19.6.2 Einfaches Kopieren mit FileCopy. 974
19.6.3 Kopieren per API-Funktion. 974
19.6.4 Kopieren und komprimieren. 975
19.6.5 Kopieren und zippen. 975
19.6.6 Sicherungsstrategie. 975
19.7 Datenbank reparieren. 978
19.7.1 Symptome. 979
19.7.2 Sicherung geht vor. 979
19.7.3 Allgemeine Reparaturversuche . 980
19.7.4 Weitere Informationen. 980
19.8 Verweise und Probleme mit Verweisen. 980
19.8.1 Meldung bei fehlenden Verweisen . 981
19.8.2 Ohne Verweise arbeiten? . 982
19.8.3
Late Binding
und
Early Binding
. 983
19.8.4 Verweise und die Weitergabe von Anwendungen. 983
19.8.5 Auf Nummer Sicher.,.,. 983
24
Inhalt
19.8.6 Gleichnamige Objekte, Eigenschaften
und Methoden in Bibliotheken. 986
Index.987
25 |
adam_txt |
Inhalt
Vorwort. 27
1 Warum Access 2007? 31
1.1 Die Benutzeroberfläche . 32
1.1.1 Navigationsbereich statt Datenbankfenster . 33
1.1.2
Ribbon
statt Menü-und Symbolleisten. 35
1.1.3 Neuer Optionen-Dialog . 36
1.1.4 Neuer Startbereich . 37
1.1.5 Neue Onlinehilfe . 37
1.2 Neues Datenbankformat . 37
1.3
Runtime
gratis . 38
1.4
Goodbye
Sicherheitssystem . 38
1.5 Neue Sicherheitsfunktionen. 39
1.6
Bye-bye
Replikation. 40
1.7 Adieu Datenzugriffsseiten. 40
1.8
АСЕ
— die neue Jet-Engine . 40
1.9
MDI
vs.
SDI
oder »Jedem Objekt sein Register« . 40
1.10 Neuer Datentyp: Anlagefeld . 41
1.11 Mehrwertige Felder . 41
1.12 Weitere Neuigkeiten zu Felddatentypen und Steuerelementen. 42
1.12.1
Rich-Text
. 42
1.12.2 Historie in Memofeldem. 43
1.12.3 Datumssteuerelement. 43
1.12.4 Schaltflächen mit Bild und Text. 43
1.12.5 Kombinationsfelder und Listenfelder . 43
1.12.6 Bildsteuerelement mit Steuerelementinhalt. 44
1.12.7 Zu große Zahlen ersetzen. 44
1.13 Neues in Tabellen. 44
1.13.1 Alternative Hintergrundfarbe . 44
1.13.2 Entwurf in der Datenblattansicht von Tabellen. 45
1.14 Neues bei den Formularen . 45
1.14.1 Layoutansicht. 45
1.14.2 Geteilte Ansicht. 46
1.14.3 Filtern und Sortieren . 46
1.14.4 Berechnungen auf Spaltenbasis . 47
1.14.5 Vereinfachtes
Layouten
. 47
1.14.6 Verankern von Steuerelementen . 47
1.14.7 AutoHeight für Formularbereiche . 48
1.15 Neues bei Berichten. 48
1.15.1 Berichtsansicht. 48
Inhalt_ _
1.15.2 Neues bei Makros . 49
1.16 VBA . 49
1.16.1
Temp
Vars
. 50
1.16.2 VBA in Formularen, Steuerelementen, Berichten und
DAO
. 52
1.17 Sonstige Neuheiten . 52
1.17.1 Neuer Farbauswahldialog. 52
1.17.2 ClearType-Fonts in Access . 52
1.17.3 Neue Schriftarten . 53
1.17.4 Import und Export . 53
1.17.5 PDF-Export . 53
1.17.6 Daten sammeln per E-Mail . 53
1.17.7 SharePoint. 54
2 Tabellen und Datenmodellierung 55
2.1 Techniken zur Datenmodellierung . 57
2.1.1 Tabellen anlegen. 57
2.1.2 Felder hinzufügen . 58
2.1.3 Schlüssel festlegen . 69
2.1.4 Eigenschaften festlegen . 72
2.1.5 Beziehungen herstellen . 75
2.1.6 Nachschlagefelder mit Wertliste . 82
2.1.7 Tabelleninformationen im Überblick. 85
2.2 Namenskonventionen für Tabellen und Felder. 86
2.2.1 Tabellennamen. 87
2.2.2 Feldnamen . 89
2.3 Normalisierung . 91
2.3.1 Die erste Normalform . 93
2.3.2 Die zweite Normalform . 98
2.3.3 Die dritte Normalform . 101
2.3.4 Weitere Normalformen. 103
2.3.5 Das richtige Maß treffen . 103
2.4 Integritätsregeln. 103
2.4.1 Integrität der Werte (Wertbereichsintegrität) . 103
2.4.2 Format der Werte (semantische Integrität) . 104
2.4.3 Abhängigkeit von Feldinhalten (Attributintegrität). 105
2.4.4 Eindeutige Datensätze (Entitätsintegrität) . 105
2.4.5 Referentielle Integrität. 107
2.5 Beziehungen. 107
2.5.1 Benennen von Primär-und Fremdschlüsselfeldern. 109
2.5.2 Halbautomatisches Festlegen von Beziehungen. HO
2.5.3 Festlegen referentieller Integrität. 111
2.5.4
l:n-Beziehungen
. 113
2.5.5 n:l-Beziehungen oder Lookup-Beziehungen 113
2.5.6 ircn-Beziehungen. . 117
2.5.7
l:l-Beziehungen
. 119
2.5.8 Reflexive Beziehungen . 124
Inhalt
2.6 Autowerte als
Long
oder GUID? . 127
2.7 Datenmodell-Muster . 128
2.7.1 Adressen-ZKundenverwaltung . 128
2.7.2 Rezepteverwaltung . 131
2.7.3 Artikelverwaltung . 132
2.7.4 CD-Verwaltung . 134
2.7.5 Projektverwaltung . 136
2.7.6 Mitarbeiterverwaltung . 136
2.7.7 Literaturverwaltung. 138
2.7.8 Mitgliederverwaltung . 138
2.7.9 Urlaubsverwaltung . 140
2.7.10 Aufgabenverwaltung . 141
2.7.11 Projektzeitverwaltung . 143
2.7.12 Kunden und Weihnachtsgeschenke . 144
2.7.13 Fahrtenbuch . 145
3 Abfragen . 147
3.1 Anlegen von Abfragen mit Access 2007. 148
3.2 Abfragen mit Anlage-Feldern und mehrwertigen Feldern . 149
3.3 Verwendung von Abfragen als Datensatzquelle oder Datensatzherkunft. 151
3.3.1 Tabelle als Datensatzquelle . 151
3.3.2 SQL-Ausdruck als Datensatzquelle. 152
3.3.3 Gespeicherte Abfrage als Datensatzquelle . 153
3.3.4 Datensatzquelle per VBA zuweisen. 153
3.3.5 Parameter statt Zusammensetzen von SQL-Ausdrücken . 154
3.3.6 Abfragen mit Parameter oder zusammengesetzte
SQL-Ausdrücke? . 158
3.3.7 Probleme mit Kriterienausdrücken bei SQL-Ausdrücken in VBA . 158
3.3.8 Zeichenkette oder Zahlenwert? . 158
3.3.9 Probleme mit Datumsangaben. 160
3.3.10 Verweis auf Steuerelemente . 162
3.4 Aktualisierbarkeit von Abfragen. 162
3.4.1 Wie erkennen Sie, ob das Abfrageergebnis aktualisierbar ist? . 163
3.4.2 Nicht aktualisierbare Abfragen . 163
3.5 UNION-Abfragen . 165
3.5.1 UNION-Abfragen zur Optimierung von Kombinationsfeldern. 165
3.5.2 Eindeutige Schlüssel mit UNION-Abfragen. 167
3.5.3
INSERT INTO
mit UNION-Abfragen. 168
3.6 Suchen in m:n-Beziehungen . 169
3.7 Handhabung von lrl-Beziehungen . 172
3.8 Extremwerte per Abfrage ermitteln. 177
3.8.1 Extremwert einer Gruppierung ermitteln. 177
3.8.2 Extremwert per TOP und ORDER
BY
. 178
3.8.3 Extremwerte per Unterabfrage . . 178
3.8.4 Extremwerte von Gruppierungen. 179
3.9 Datensätze mehrfach anzeigen . 181
Inhalt_
3.10 Nummerierung von Datensätzen. 182
3.10.1 Alternative:
Nummerieren
per Unterabfrage . 183
3.10.2 Nummerierung von Abfrageergebnissen mit alternativen
Sortierungen. 184
3.10.3 Nummerierung von Abfrageergebnissen mit eingeschränkten
Ergebnismengen . 184
3.11 Reflexive l:n-Beziehungen . 184
3.12 Reflexive m:n-Beziehungen . 186
4 Formulare.187
4.1 Formulare in Access 2007. 188
4.1.1 Anlegen eines Formulars . 188
4.1.2 Formularansichten . 192
4.1.3 Geteilte Formulare . 196
4.1.4 Hilfreiche Funktionen für den Formularentwurf. 198
4.1.5 Sonstige Neuerungen . 201
4.1.6 Formularvorlage . 204
4.2 Formulare öffnen. 205
4.3 Ereignisse in Formularen und Steuerelementen. 206
4.3.1 Ereignisse in Formularen . 206
4.3.2 Abfolge und Bedeutung der Ereignisse beim Öffnen und Schließen
eines Formulars . 209
4.3.3 Abfolge und Bedeutung der Ereignisse beim Bearbeiten von
Datensätzen. 210
4.4 Ereignisse von Steuerelementen . 212
4.5 Abbildung verschiedener Beziehungsarten. 216
4.5.1 Einfache Daten in der Detailansicht. 216
4.5.2 Einfache Daten in der Übersicht mit Endlosformularen . 220
4.5.3 Einfache Daten in der Übersicht als Datenblatt. 224
4.5.4 Daten in der Übersicht als Listenfeld . 229
4.5.5 l:l-Beziehungen. 231
4.5.6 n:l-Beziehungen. 232
4.5.7 lrn-Beziehungen. 233
4.5.8 l:n-Beziehung per Unterformular und Datenblattansicht. 234
4.5.9 lavBeziehung per Listenfeld . 238
4.5.10 m:n-Beziehungen in Haupt- und Unterformular . 240
4.5.11
rtr.n-Beziehungen
per Listenfeld . 246
4.5.12 Reflexive Beziehungen. 253
4.6 Von Formular zu Formular . 256
4.7 Besonderheiten von Unterformularen . 260
4.7.1 Eingabe von Daten ohne Detaildatensatz. 260
4.7.2
Undo
in Haupt-und Unterformular . 262
4.8 Eingabevalidierung . . 275
4.8.1
Validieren
direkt bei der Eingabe. 275
4.8.2
Validieren
vor dem Speichern. 276
4.8.3 Sonderfälle beim
Validieren
. . 279
10
Inhalt
4.9 Suchen in Formularen. 280
4.9.1 Schnelles Suchen in Formularen. 280
4.9.2 Schnelles Filtern in der Datenblattansicht . 281
4.9.3 Schnellauswahl per Kombinationsfeld . 282
4.9.4 Schnelles Filtern von Listenfeldern. 284
5 Steuerelemente. 289
5.1 Textfelder. 289
5.1.1
Rich-Text in
Textfeldern. 289
5.1.2 Datum auswählen . 291
5.1.3 Texte als Hyperlink anzeigen . 292
5.1.4 Abgeschnittene Zahlenfelder . 292
5.2 Schaltflächen . 292
5.3 Kombinationsfelder . 293
5.3.1 Wertliste erben. 295
5.3.2 Formular zum Bearbeiten anzeigen . 295
5.3.3 Wachsen und Schrumpfen. 295
5.3.4 Hyperlinks . 295
5.3.5 Mehrwertige Felder. 295
5.4 Kombinationsfeld-Techniken. 296
5.4.1 Kombinationsfeld aufklappen . 296
5.4.2 Auswahlen-Eintrag hinzufügen.,. 296
5.4.3 Abhängige Kombinationsfelder . 297
5.4.4 Bestimmten Eintrag auswählen. 298
5.4.5 Aktuell markierten Eintrag auslesen . 299
5.4.6 Wert zu einem gebundenen Kombinationsfeld hinzufügen. 299
5.4.7 Weitere Techniken . 300
5.5 Listenfelder. 300
5.5.1 Mehrfachauswahl auslesen. 300
5.5.2 Ja/Nein-Felder im Listenfeld anzeigen. 301
5.5.3 Weitere Techniken . 302
5.6 Unterformulare .,. 302
5.7 Das Anlagen-Steuerelement . 303
5.8 Optionsgruppe, Umschaltfläche, Kontrollkästchen, Bildsteuerelement
und
Co
. 303
5.9 Weitere Steuerelementeigenschaften . 303
5.9.1 Steuerelemente verankern. 303
5.9.2 Layout oder nicht?. 305
5.9.3 Gitternetzlinien . 305
5.9.4 Textabstand. 306
5.10 Das TreeView-Steuerelement. 306
5.10.1
Tree
View anlegen. 307
5.10.2 Eigenschaften des
Tree
View-Steuerelements . 311
5.10.3 Erzeugen eines Baumes . . . 311
5.10.4 Stil einstellen. 313
5.10.5 Element-Eigenschaften per VBA zuweisen. 314
11
Inhalt
5.10.6 Symbole im
Tree View
. 315
5.10.7 Daten aus Tabellen im
Tree
View-Steuerelement darstellen. 315
5.10.8 Daten aus verknüpften Tabellen anzeigen. 316
5.10.9 Reflexive Daten im
Tree
View-Steuerelement. 318
5.10.10
Tree View
füllen bei großen Datenbeständen. 320
5.10.11 Elemente erst bei Bedarf anlegen. 321
5.10.12 Neuzeichnen des Baumes verhindern . 323
5.10.13 Drag and Drop im
Tree
View-Steuerelement. 324
5.10.14 VBA-Ereignisprozeduren für Drag and Drop einrichten. 324
5.11 ListView . 328
5.11.1 Möglichkeiten des ListView-Steuerelements . 329
5.11.2 Füllen des ListView-Steuerelements . 330
5.11.3 Eigenschaften des ListView-Steuerelements . 331
5.11.4 Sortieren von ListView-Einträgen . 332
5.11.5 Einträge des ListView-Steuerelements auswählen. 334
5.11.6 ListView-Steuerelement mit Daten füllen. 337
5.11.7
Icons
im ListView-Steuerelement. 340
5.11.8 Drag and Drop mit dem ListView-Steuerelement. 345
5.11.9 Reihenfolge per Drag and Drop einstellen. 350
5.12 Das ImageList-Steuerelement. 354
5.13 Tipps und Tricks zu Steuerelementen . 358
5.13.1 Standardeinstellungen speichern. 358
5.13.2 Autoformate . 359
6 Berichte.361
6.1 Berichte erstellen . 361
6.1.1 Anlegen eines Berichts. 362
6.1.2 Vereinfachtes
Layouten
. 364
6.1.3 Einheitliches Design mit Autoformat. 365
6.1.4 Wechselnde Hintergrundfarbe . 366
6.1.5 Bedingte Formatierung. 366
6.1.6 Sonstige Layout-Vereinfachungen. 367
6.1.7 Berichtsbereiche. 367
6.1.8 Berichtsansichten . 368
6.1.9 Gruppieren und sortieren. 368
6.2 Berichte anzeigen .,. 368
6.3 Filtern und sortieren. 369
6.3.1 Filtern und Sortieren in der Berichtsvorschau . 371
6.3.2 Filtern, Sortieren und Gruppieren
in der Layoutansicht. 371
6.3.3 Filtern in der Layoutansicht .,. 372
6.3.4 Sortieren in der Layoutansicht . 372
6.3.5 Gruppieren in der Layoutansicht .,. 373
6.3.6 Summen in der Layoutansicht. 375
6.4 Berichtsbereiche und Ereignisse. 376
6.4.1 Berichtsbereiche . . 376
12
Inhalt
6.4.2 Ereignisse in Berichten. 377
6.4.3 Zusammenfassung der Berichtsereignisse . 378
6.4.4 Zusammenfassung der Bereichsereignisse . 378
6.4.5 Zugriff auf die Berichtsbereiche . 380
6.5 Beispiele für den Einsatz der Berichts- und Bereichsereignisse in der
Seitenansicht . 381
6.5.1 Beim Öffnen: Auswertung von Öffnungsargumenten . 381
6.5.2 Bei Aktivierung und Bei Deaktivierung:
Berichtsabhängige Funktionen ein- und ausschalten . 384
6.5.3 Bei Ohne Daten: Öffnen leerer Berichte vermeiden . 385
6.5.4 Bei Fehler: Fehler abfangen . 385
6.5.5 Bei Seite: Seiten verschönern . 385
6.5.6 Beim Formatieren: Layout anpassen . 387
6.5.7 Beim Drucken . 388
6.6 Wichtige Eigenschaften von Berichten und Berichtsbereichen. 390
6.6.1 Kopfzeilenbereich und Fußzeilenbereich . 391
6.6.2 Gruppieren nach und Intervall . 392
6.6.3 Zusammenhalten von Daten . 393
6.6.4 Neue Seite, Zeile oder Spalte . 393
6.6.5 Vergrößerbar und Verkleinerbar. 394
6.6.6 Bereich wiederholen. 395
6.7 Darstellung von Daten. 395
6.7.1 Einzelne Tabellen . 396
6.7.2
l:n-Beziehungen
. 400
6.7.3 m:n-Beziehungen. 403
6.8 Berichte mit Unterberichten. 404
6.8.1 Unterberichte . 404
6.8.2 Einbinden der Unterberichte in den Hauptbericht. 404
6.8.3 Unterberichte über mehrere Seiten. 407
6.9 Rechnungserstellung mit Berichten. 407
6.9.1 Konzept für die Erstellung des Berichts . 410
6.9.2 Erstellen des Gruppenkopfs . 410
6.9.3 Anlegen des Detailbereichs . 411
6.9.4 Berechnungen in Berichten oder Berechnungen in Formularen. 412
6.9.5 Summenbildung im Fußbereich der Gruppierung. 412
6.9.6 Feinheiten: Zwischensumme und Übertrag . 413
6.9.7 Überschriften für Folgeseiten und Rechnungsübertrag . 413
6.9.8 Rechnungsentwurf im Zusammenhang und Restarbeiten. 414
6.10 Die Berichtsansicht . 419
6.11 Anwendungsbeispiel für die Berichtsansicht. 420
7 VBA 425
7.1 VBA-Neuigkeiten in Access 2007 426
7.2 Namenskonventionen in VBA 426
7.3 Layout von Code 427
7.3.1 Funktionalität vor Schönheit? . 427
13
Inhalt
7.3.2 Code einrücken zur Verdeutlichung der logischen Struktur . 428
7.3.3 Leerzeilen für bessere Lesbarkeit. 430
7.3.4 Zeilenumbrüche . 431
7.3.5 Anweisungen zusammenfassen. 432
7.4 Kommentare . 433
7.5 Konstanten . 434
7.6 Variablen . 437
7.6.1 Variablennamen . 437
7.6.2 Spezielle Variablennamen. 438
7.6.3
Arrays
. 439
7.6.4 Benutzerdefinierte Typen . 440
7.6.5 Alle Variablen verwenden. 441
7.6.6 Globale Variablen. 441
7.7 Kontrollstrukturen . 441
7.7.1
K.-.Then-Anweisung
. 441
7.7.2
Select Case .
444
7.7.3 For^Next-Schleifen . 445
7.7.4
For Each-Schleifen
. 446
7.7.5 Do.-.Loop-Schleifen und Varianten. 447
7.7.6
Exit
. 448
7.7.7 Die GoTo-Anweisung und Sprungmarken. 449
7.8 Routinen . 450
7.8.1 Routinenarten . 450
7.8.2 Routinennamen . 451
7.8.3 Starker Zusammenhalt von Routinen. 453
7.8.4 Lose Kopplung zwischen Routinen . 453
7.8.5 Parameter und Rückgabewerte einer Routine . 453
7.8.6 Gleichzeitige Rückgabe von Statuswert und Ergebnis . 456
7.8.7 Alle Routinen verwenden . 457
8 Access-SQL.459
8.1 SQL-Versionen . 459
8.2 SQL und Access. 460
8.2.1 Wozu trotz Abfrage-Entwurfsansicht SQL lernen? . 461
8.2.2 Wo lässt sich SQL überall einsetzen? . 462
8.3 Daten auswählen . 463
8.3.1 Festlegen der anzuzeigenden Felder. 464
8.3.2 Festlegen der enthaltenen Tabellen. 465
8.3.3 Festlegen von Bedingungen .,. 466
8.3.4 Vergleichsausdrücke. 467
8.3.5 Sortieren von Daten . 470
8.3.6 Aggregatfunktionen. 471
8.3.7 Gruppieren von Daten . 472
8.3.8
WHERE,
GROUP
BY, HAVING
und ORDER
BY
im Überblick . 475
8.3.9 Verknüpfen von Tabellen in Abfragen. 475
8.3.10 Zugriff auf externe Datenquellen . 485
14
Inhalt
8.3.11 Zugriff auf Felder des Datentyps Anhang und mehrwertige
Felder 485
8.4 Daten manipulieren . 486
8.4.1 Daten aktualisieren . 486
8.4.2 Datenlöschen. 487
8.4.3 Daten an bestehende Tabelle anfügen . 487
8.4.4 Neue Tabelle mit Daten erstellen. 489
8.5 Datenmodell erstellen und manipulieren . 490
8.5.1 Tabellenerstellen . 490
8.5.2 Primärschlüssel, Indizes und Einschränkungen
mit
CONSTRAINT
. 493
8.5.3 Tabelle ändern. 499
8.5.4 Tabelle löschen. 500
8.5.5 Index löschen. 500
9
DAO
. 501
9.1
DAO
und
ADO
im Einsatz . 503
9.2 Das DAO-Objektmodell . 504
9.2.1 Zugriff auf die Elemente des Objektmodells . 504
9.2.2 Deklarieren und Instanzieren . 506
9.2.3 Auf Auflistungen zugreifen. 507
9.2.4 Punkte und Ausrufezeichen. 508
9.3 DBEngine . 509
9.4
Workspace
— Arbeitsbereich oder Sitzung? . 509
9.4.1 Auflistungen des Workspace-Objekts . 510
9.4.2 Aufgaben des Workspace-Objekts . 510
9.4.3 Datenbanken erzeugen und öffnen. 511
9.5 Aktuelle Datenbank referenzieren. 511
9.5.1 Users und
Groups
. 513
9.6 Das Database-Objekt. 514
9.6.1 Manipulation des Datenmodells . 514
9.6.2 Erstellen einer Tabelle. 514
9.6.3 Autowert anlegen . 517
9.6.4 Attachment-Feld anlegen. 517
9.6.5 Mehrwertige Felder anlegen. 518
9.6.6 Löschen einer Tabelle . 521
9.6.7 Erstellen eines Index. 522
9.6.8 Löschen eines Index . 523
9.6.9 Erstellen einer Beziehung. 524
9.6.10 Löschen einer Beziehung. 526
9.6.11 Erstellen von Eigenschaften . 526
9.6.12 Zugriff auf Auflistungen und Elemente . 526
9.6.13 Datensatzgruppen erstellen mit OpenRecordset . 528
9.6.14 Ausführen von Aktionsabfragen. 533
9.7 Daten bearbeiten mit dem
Recordset-
und dem
. 534
15
Inhalt _
9.7.1 Methoden und Eigenschaften des Recordset2-Objekts . 534
9.7.2 Datensätze durchlaufen. 536
9.7.3 Alle Datensätze durchlaufen . 536
9.7.4 Zu bestimmten Datensätzen springen. 537
9.7.5 Aktuelle Position des Datensatzzeigers ermitteln . 537
9.7.6 Anzahl der Datensätze ermitteln. 539
9.7.7 Daten aus Datensätzen ausgeben. 541
9.7.8 Datensätze suchen. 542
9.7.9 Die Seek-Methode zum Suchen in Table-Recordsets . 542
9.7.10 Die Find-Methoden zum Suchen in
Dynaset-
und
Snapshot-Recordsets
. 543
9.7.11 Alle Datensätze mit einem bestimmten Kriterium finden . 544
9.7.12 Lesezeichen. 545
9.8 Sortieren und Filtern von Datensätzen . 546
9.8.1 Sortieren mit der Sort-Eigenschaft . 546
9.8.2 Sortieren mit der Index-Eigenschaft. 547
9.8.3 Filtern mit der Filter-Eigenschaft. 548
9.9 Daten bearbeiten . 549
9.9.1 Anlegen eines Datensatzes . 549
9.9.2 Bearbeiten eines Datensatzes . 550
9.9.3 Löschen eines Datensatzes . 550
9.9.4 Umgang mit Attachments . 551
9.9.5 Attachment-Felder auslesen. 551
9.9.6 Dateien aus einem Attachment-Feld auf der Festplatte speichern . 555
9.9.7 Datei in Attachment-Feldern speichern. 557
9.9.8 Löschen von Dateien in Attachment-Feldern. 558
9.9.9 Ersetzen eines Attachments . 558
9.9.10 Umgang mit mehrwertigen Feldern . 559
9.9.11 Lesen des Inhalts von mehrwertigen Feldern, Variante
I
. 560
9.9.12 Lesen des Inhalts mehrwertiger Felder, Variante
II
. 561
9.10 QueryDefs — Auswahl oder Aktion nach Wahl . 561
9.11 Transaktionen. 562
10
ADO
. 567
10.1 Zugriff auf eine Datenquelle herstellen . 568
10.2 Manipulation des Datenmodells . 571
10.2.1 Anlegen einer Tabelle . 571
10.2.2 Autowert anlegen . 573
10.2.3 Löschen einer Tabelle. 573
10.2.4 Erstellen eines Index . 574
10.2.5 Löschen eines Index. 575
10.2.6 Erstellen einer Beziehung . 575
10.2.7 Löschen einer Beziehung . 577
10.3 Zugriff auf Tabellen, Abfragen und die darin enthaltenen Daten . 577
10.3.1 Ausgeben aller Tabellen . 577
10.3.2 Prüfen, ob eine Tabelle vorhanden ist. 578
16
Inhalt
10.3.3 Datensatzgruppe auf Basis einer Tabelle öffnen. 578
10.3.4 Cursor-Typen . 579
10.3.5 Sperrung von Daten. 579
10.3.6 Datensätze eines
Recordsets
durchlaufen . 580
10.3.7 Daten eines
Recordsets
mit mehrwertigen Feldern ausgeben . 580
10.3.8 Daten eines
Recordsets
mit Attachment-Feldern ausgeben . 581
10.3.9 Anzahl der Datensätze in einer Datensatzgruppe ermitteln. 582
10.3.10 Prüfen, ob eine Datensatzgruppe leer ist. 582
10.3.11 Ausgabe des Inhalts eines
Recordsets
. 583
10.3.12 Speichern der Daten in einem
Array
. 583
10.3.13 Abfragen mit Parametern verwenden. 584
10.4 Datensätze suchen . 585
10.4.1 Gesuchte Datensätze per Source-Eigenschaft des
Recordsets
ermitteln . 585
10.4.2
Seek
. 586
10.4.3 Find . 588
10.4.4 Filtern. 589
10.4.5 Sortieren. 590
10.4.6 Lesezeichen. 591
10.5 Datensätze bearbeiten . 591
10.5.1 Datensatz anlegen .,.,. 591
10.5.2 Datensatz bearbeiten. 592
10.5.3 Datensatz löschen. 593
10.5.4 Aktionsabfragen ausführen . 593
10.6 Transaktionen.,. 593
10.7 Besonderheiten von
ADO
gegenüber
DAO
. 594
10.7.1 Datensatzgruppe speichern . 594
10.7.2 Datensatzgruppe laden .,. 594
10.7.3 Ungebundene
Recordsets
verwenden . 595
10.7.4
Disconnected Recordsets
. 596
10.7.5 Ereignisse von Datensatzgruppen. 599
11 Bilder und binäre Dateien 601
11.1 Bilder und Dateien als Anlage speichern . 602
11.2 Bilder aus Anlage-Feldern in Formularen anzeigen. 604
11.3 Bilder aus Anlage-Feldern in Berichten anzeigen. 607
11.4 Bilder und Dateien aus Anlage-Feldern auf der Festplatte speichern . . 608
11.5 Dateien per VBA in Anlage-Felder importieren und exportieren . 609
11.5.1 Importieren von Dateien in Anlage-Felder 610
11.5.2 Exportieren von Dateien aus dem Anlage-Feld 612
11.6 Bilder und Dateien im OLE-Feld einbetten oder verknüpfen. 614
11.7 Bilder und Dateien als Binärstrom im OLE-Feld speichern 615
11.8 Bilder und Dateien im binären Format
aus einem OLE-Feld wiederherstellen 617
11.9 Bilder von der Festplatte in Formularen
und Berichten anzeigen 619
17
Inhalt
11.9.1 Anzeigen externer Bilddateien im Formular. 619
11.9.2 Anzeige externer Bilddateien in Berichten. 621
11.9.3 Alternative zum Bildsteuerelement von Access . 622
11.10 Die Office Graphics Library. 624
11.10.1 Bilder aus dem OLE-Feld in einem Formular anzeigen . 624
11.10.2 Bild aus einem OLE-Feld wiederherstellen. 627
11.10.3 Speichern in verschiedenen Formaten. 628
11.10.4 Bilderbearbeiten. 629
11.10.5 Ersatz für Anlagen? . 630
12
Ribbon
. 631
12.1 Definition des
Ribbons
. 632
12.2 Symbolleiste für den Schnellzugriff. 633
12.3 Eigene Ribbon-Tabs erstellen . 636
12.3.1 Ein einfaches
Ribbon
. 637
12.3.2 Schaltfläche mit Funktion versehen . 639
12.4 Fehler in Ribbon-XML-Dokumenten erkennen . 641
12.5 Callback-Funktionen . 642
12.5.1 Die
get-.-Attribute
. 642
12.5.2 Ereigniseigenscharten . 643
12.5.3 Umgang mit Callback-Funktionen. 644
12.6 Weitere Ribbon-Steuerelemente . 646
12.6.1 Schaltflächen . 646
12.6.2 Kontrollkästchen (checkBox) . 650
12.6.3 Textfelder . 650
12.6.4 Kombinationsfelder
I:
Das comboBox-Element . 652
12.6.5 Kombinationsfelder
II:
Das dropDown-Element. 656
12.6.6 Umschaltflächen. 658
12.6.7 Galerien. 659
12.6.8 Menüs
(menu)
. 661
12.6.9 Splitbuttons (splitButton) . 663
12.6.10 Gruppendialog anzeigen . 664
12.6.11 Trennstrich
(separator)
. 665
12.7 Weitere Anpassungen des
Ribbons
. 665
12.7.1 Tastenkombinationen . 666
12.7.2 Alle
Ribbons
ausblenden . 667
12.7.3 Ribbon-Leiste minimieren. 667
12.7.4 Ein
tab-Element
ein- und ausblenden. 668
12.7.5 Eine Gruppe ein- und ausblenden. 668
12.7.6 Ein Steuerelement ein-und ausblenden. 669
12.7.7 Eingebaute Steuerelemente aktivieren und deaktivieren . 669
12.7.8 Eingebaute Steuerelemente mit neuen Funktionen belegen. 670
12.7.9 Sonderzeichen in
Ribbon-Texten
. 670
12.7.10 Einen Eintrag zum Office-Menü hinzufügen . 670
12.7.11 Einträge des Office-Menüs ausblenden. 671
12.7.12 Einen Eintrag zur Schnellzugriffsleiste hinzufügen . 672
18
Inhalt
12.8
Ribbons
für Formulare und Berichte . 673
12.9 XML-Dokument mit Application.LoadCustomUI laden . 673
12.9.1 Dynamisches Aktualisieren des
Ribbons
. 675
12.9.2 Beispiel: Abhängige Kontrollkästchen. 676
12.10 Menü- und Symbolleisten aus bestehenden Access 2003-Anwendungen . 678
12.11 Übersicht über Ribbon-XML-Elemente und Attribute . 680
12.11.1 Auflistung der Ribbon-Elemente . 680
12.11.2 Attribute der Ribbon-Elemente . 682
12.11.3 Ereigniseigenschaften der Ribbon-Elemente . 684
12.11.4 Steuerelemente und ihre Eigenschaften. 687
13
Debugging,
Fehlerbehandlung und Fehlerdokumentation 691
13.1 Fehlerarten . 691
13.1.1 Syntaxfehler . 692
13.1.2 Laufzeitfehler . 694
13.1.3 Logische Fehler . 695
13.2
Debugging in
der VBA-Entwicklungsumgebung. 695
13.2.1 Die Debuggen-Symbolleiste . 696
13.2.2 Das Direktfenster. 696
13.2.3 Haltepunkte. 697
13.2.4 Die Aufrufliste . 699
13.2.5 Ausdrücke überwachen. 699
13.2.6 Das Lokal-Fenster.,. 701
13.3 Fehlerbehandlung in VBA. 701
13.3.1 Elemente der Fehlerbehandlung. 702
13.3.2 Fehlerbehandlung einleiten . 702
13.3.3 Klassischer Aufbau einer Fehlerbehandlung. 703
13.3.4 Fehler auswerten. 704
13.3.5 Das Err-Öbjekt. 704
13.3.6 Nach der Fehlerbehandlung . 705
13.3.7 Fehlernummern und -beschreibungen. 705
13.3.8 Benutzerdefinierte Fehlerbehandlung temporär ausschalten . 705
13.3.9 Funktionale Fehlerbehandlung . 706
13.3.10 Benutzerdefinierte Fehler. 709
13.3.11 Fehler bei API-Aufrufen. 710
13.4 Fehlerdokumentation und -Übermittlung . 711
13.4.1 Wichtige Fehlerinformationen . 712
13.4.2 Zeilen
nummerieren
. . 712
13.4.3 Einsatz der
accessVBATools
. 714
13.5 Fehlerbehandlung in Formularen 719
13.5.1 Behandlung von Formularfehlern . 720
13.5.2 Formularfehler dokumentieren . 721
14 Performance 723
14.1 Tabellen 723
19
Inhalt
14.1.1 Normalisieren des Datenmodells . 723
14.1.2 Indizes . 725
14.1.3 Datentypen . 727
14.2 Abfragen . 728
14.2.1 Abfragen und die ACE-Engine . 728
14.2.2 Datenbank mit kompilierten Abfragen ausliefern . 734
14.2.3 Gespeicherte Abfragen versus Ad-hoc-Abfragen. 735
14.2.4 Abfragen auf Performance trimmen . 735
14.3 Formulare . 737
14.3.1 Formulare offen halten oder schließen? . 737
14.3.2 Daten des Formulars . 737
14.3.3 Steuerelemente . 738
14.3.4 VBA in Formularen . 741
14.4 Berichte . 742
14.4.1 Datensatzquelle unsortiert übergeben . 743
14.4.2 Keine Funktionen und Ausdrücke in Sortierungen und
Gruppierungen . 743
14.4.3 Bericht nur öffnen, wenn er Daten enthält. 743
14.5 VBA. 744
14.5.1 Performance von VBA-Code optimieren . 744
14.5.2 Punkt oder Ausrufezeichen . 754
14.5.3 Datenzugriff optimieren. 754
14.6 Sonstige Performance-Tipps . 755
14.6.1 Verwendung als .accde-Datei . 756
14.6.2 Exklusiver Zugriff bei Einzelplatzanwendungen . 756
14.6.3 Komprimieren der Datenbank. 756
14.6.4 Objektnamen-Autokorrektur abschalten. 756
14.6.5 Unterdatenblätter abschalten . 757
14.6.6 Rechtschreibprüfung ausschalten . 757
14.7 Performance-Unterschiede messen . 757
14.7.1 Werkzeug für Performance-Tests selbst gebaut. 758
15 Objektorientierte Programmierung. 769
15.1 Abstrakte Datentypen, Klassen und Objekte. 772
15.2 Objekte. 773
15.2.1 Eingebaute Objekte. 774
15.2.2 Erzeugen eines Objekts . 778
15.2.3 Zugriff auf die Methoden, Eigenschaften und Ereignisse eines
Objekts. 778
15.2.4 Lebensdauer eines Objekts . 779
15.3 Klassenmodule.,. 780
15.3.1 Anlegen eines Klassenmoduls. 780
15.3.2 Benennen des Klassenmoduls . 780
15.4 Eigenschaften einer Klasse. 781
15.4.1 Öffentliche und nicht öffentliche Eigenschaften . 782
15.4.2 Zugriff auf die Eigenschaften einer Klasse kontrollieren . 783
20
Inhalt
15.4.3
Property Let:
Setzen von
skalaren
Variablen. 785
15.4.4
Property Set:
Setzen von Objektvariablen. 785
15.4.5
Property Get:
Lesen von
skalaren
Variablen und Objektvariablen . 786
15.4.6 Vertrauen ist gut, Kontrolle ist besser. 787
15.5 Methoden einer Klasse . 788
15.6 Standardereignisse in Klassen . 790
15.7 Benutzerdefinierte Ereignisse . 790
15.7.1 Ereignisse abfangen . 790
15.7.2 Eigene Ereignisse anlegen . 793
15.8 Benutzerdefinierte Auflistungen mit dem Collection-Objekt . 798
15.8.1 Auflistungen selbst gemacht . 799
15.8.2 Benutzerdefinierte Auflistungsklassen . 801
15.8.3 Nachbildung relationaler Beziehungen per Auflistungsklasse . 803
15.8.4 »Echtes« Objekt mit Auflistung. 808
15.9 Schnittstellen und Vererbung . 811
15.9.1 Beispiel für den Einsatz der Schnittstellenvererbung . 812
15.9.2 Vereinheitlichen per Schnittstellenvererbung. 814
15.9.3 Realisierung der Schnittstellenvererbung . 815
15.9.4 Was vom Beispiel übrig bleibt. . 817
16 Objektorientierung im Praxiseinsatz.819
16.1 Standardfunktionen von Formularen auslagern . 819
16.1.1 Formulare zur Datenbearbeitung . 820
16.1.2 Codeauslagerang am Beispiel der OK-Schaltfläche. 821
16.1.3 Abbrechen der Bearbeitung auslagern . 826
16.1.4 Löschen von Datensätzen auslagern. 827
16.1.5 Hinzufügen von Datensätzen auslagern . 829
16.1.6 Einstellen des Kombinationsfeldes für die Schnellauswahl. 829
16.1.7 Aktualisieren des Kombinationsfeldes . 831
16.1.8 Anzeige des im Kombinationsfeld ausgewählten Datensatzes . 833
16.1.9 Weitere Möglichkeiten. 834
16.2 Mehrere Formularinstanzen anzeigen . 834
16.2.1 Beispielformulare. 834
16.2.2 Erzeugen einer neuen Instanz . 835
16.2.3 Öffnen mehrerer Instanzen eines Formulars. 837
16.2.4 Formularinstanz-Sammlung . 837
16.2.5 Neue Formularinstanz erzeugen und zur
Collection
hinzufügen 838
16.2.6 Schließen aller Instanzen des Formulars 840
16.2.7 Schließen einer bestimmten Instanz 842
16.2.8 Schließen-Vorgang des Formulars anpassen 845
16.3 Mehrschichtige Anwendungen 846
16.3.1 Beispiel 847
16.3.2 Die GUI-Schicht 848
16.3.3 Die Business-Schicht 849
16.3.4 Die Datenzugriffsschicht 849
16.3.5 Die Datenschicht 850
21
Inhalt
16.3.6 Zusammenhänge der Objekte und Schichten. 850
16.3.7 Initialisieren des Formulars . 850
16.3.8 Initialisieren des Controller-Objekts . 852
16.3.9 Aufruf der Methode GetPersons der Business-Schicht. 852
16.3.10 Zugriff des Datenzugriffsobjekts auf die Datenschicht. 853
16.3.11 Die Klasse clsPerson. 855
16.3.12 Auswählen und Anzeigen eines Datensatzes . 856
16.3.13 Einlesen von Personen, die nicht in der
Collection
enthalten
sind . 858
16.3.14 Neuer Datensatz . 859
16.3.15 Speichern eines Datensatzes . 860
16.3.16 Datensatz neu anlegen oder aktualisieren? . 860
16.3.17 Neuen Datensatz anlegen . 861
16.3.18 Aktualisieren eines Datensatzes . 862
16.3.19 Löschen eines Datensatzes . 864
16.3.20 Businesslogik und mehr . 865
16.3.21 Objektklassen und Datenzugriffsobjekte automatisch erstellen . 866
17 Anpassen der Entwicklungsumgebung 869
17.1 Gründe für die Erweiterung der Entwicklungsumgebung . 872
17.1.1 Automatische Codegenerierung . 872
17.1.2 Fehlerbehandlung per Knopfdruck. 872
17.1.3
Nummerieren
von Codezeilen. 874
17.2 Programmieren der Entwicklungsumgebung . 874
17.3 Das Objektmodell der VBA-Entwicklungsumgebung. 876
17.3.1 Verweis für den Zugriff auf das VBE-Objektmodell einrichten . 876
17.3.2 Aufbau des Objektmodells . 877
17.4 Mit Modulen arbeiten. 878
17.4.1 Auflisten aller enthaltenen Module . 879
17.4.2 Anlegen eines neuen Moduls. 880
17.4.3 Entfernen eines Moduls . 881
17.5 Mit Prozeduren arbeiten . 881
17.5.1 Lesender Zugriff auf den Quellcode . 882
17.5.2 Zählen der Codezeilen des Moduls . 883
17.5.3 Zählen der Zeilen des Deklarationsbereichs eines Moduls . 883
17.5.4 Erste Zeile und Deklarationszeile einer Prozedur . 883
17.5.5 Zeilenanzahl einer Prozedur . 884
17.5.6 Anzahl der Codezeilen einer Prozedur . 884
17.5.7 Zu welcher Prozedur gehört eine Zeile? . 885
17.5.8 Ausgabe des kompletten Codes eines Moduls . 886
17.5.9 Ermitteln der Position der aktuellen Markierung. 887
17.5.10 Ermitteln des Inhalts der aktuellen Markierung . 888
17.5.11 In Modulen suchen . 889
17.6 Beispielanwendung: Codeviewer . 890
17.6.1 Anzeige der Module . 891
17.6.2 Anzeige der Prozedurliste . 893
22
Inhalt
17.6.3 Anzeige des Codes einer Prozedur . 897
17.7 Manipulieren des Quellcodes . 898
17.7.1 Code hinzufügen. 899
17.7.2 Ereignisprozeduren hinzufügen . 900
17.7.3 Löschen von Zeilen. 900
17.7.4 Beispielanwendung:
Nummerieren
von Codezeilen in einem
Modul . 901
17.8 Tbolwindows . 902
17.8.1 Benutzerdefiniertes Toolwindow = COM-Add-In . 903
17.8.2 Anlegen eines leeren Toolwindows . 904
17.8.3 Anlegen eines neuen Projekts . 905
17.8.4 Der COM-Add-In-Designer. 907
17.8.5 Das Userdocument als Toolwindow . 908
17.8.6 Ereignisprozeduren des COM-Add-Ins mit Leben füllen. 909
17.8.7 Anpassen der Eigenschaften des COM-Add-Ins . 914
17.8.8 Anzeige des Toolwindows beim Starten der VBA-
Entwicklungsumgebung . 915
17.8.9 Testen des neuen Toolwindows. 916
17.8.10 Das Toolwindow füllen. 917
17.9 COM-Add-Ins per Menübefehl aufrufen. 917
17.9.1 Vorbereitungen. 918
17.9.2 Objekte hinzufügen . 918
17.9.3 Eigenschaften der Addln
Class
anpassen . 920
17.9.4 Anpassen des Standardmoduls . 920
17.9.5 Weitere Einstellungen. 921
17.9.6 Projekt speichern . 921
17.9.7 Hinzufügen der Funktionen und Menüs . 922
18 Sicherheit von Access-Datenbanken 925
18.1 Code schützen per .accde-Datenbank. 926
18.2 Code schützen per Kennwort . 927
18.3 Einfacher Kennwortschutz mit Verschlüsselung . 928
18.4 Vertrauensstellungscenter. 929
18.5 Digitale Signaturen. 933
18.6 Schutz vor bösartigen SQL-Statements. 934
18.7 Kein Sicherheitssystem — was nun? . 935
18.7.1 Benutzer-und gruppenabhängige Benutzeroberfläche . 936
18.7.2 Daten schützen: Alternativen. 936
18.8 MySQL. 938
18.8.1 MySQL installieren. 940
18.8.2 Einfache Konfiguration . 942
18.8.3 MySQL-Anweisungen. 943
18.8.4 Sicherheit unter MySQL 945
18.8.5 Administrationstool für MySQL 945
18.8.6 Installation von MyODBC . 946
18.9 Access und MvSQL ." . 946
23
Inhalt
18.9.1
Upsizing
von Access-Datenbanken auf MySQL
18.9.2 Export von Tabellen nach MySQL.
18.9.3 Verwenden von MySQL-Datenbanken mit Access
18.9.4 Aktualisieren von Tabellen.
18.9.5 Internetverbindung mit MySQL.
18.9.6 Erstellen eines Profils mit PuTTY.
18.9.7 Testen des Tunnels.
946
947
951
951
952
953
954
19 Installation, Betrieb und Wartung
19.1
19.2
Verschiedene Access-Versionen auf demselben Rechner
Weitergabe von Access-Datenbanken.
19.2.1 Benutzerdefinierte Menüs.
19.2.2 Fehlerbehandlung.
19.3
19.4
19.5
957
. 957
. 958
. 959
. 960
19.2.3 Runtime-Simulation. 960
19.2.4 Weitergabe ohne
Runtime
. 960
Aktionen beim Starten oder Beenden der Datenbank durchrühren. 961
19.3.1 Code beim Starten einer Datenbank ausführen. 962
19.3.2 Formular beim Starten einer Datenbank anzeigen . 962
19.3.3 Aktion beim Schließen einer Datenbank ausführen. 962
Datenbanken komprimieren und reparieren. 964
Mehrbenutzerbetrieb mit Access-Datenbanken. 965
19.5.1 Aufteilen einer Access-Datenbank. 965
Tabellen in neue Datenbank importieren. 965
Tabellen aus der Ausgangsdatenbank löschen. 965
Tabellen als Verknüpfung einbinden. 966
Erneutes Einbinden der Tabellen nach Umbenennen oder
Verschieben des Backends. 966
Zeitpunkt zum Wiedereinbinden von Tabellen. 970
19.5.2
19.5.3
19.5.4
19.5.5
19.5.6
19.6 Sichern von Access-Datenbanken. 971
19.6.1 Voraussetzungen und Vorbereitungen. 971
19.6.2 Einfaches Kopieren mit FileCopy. 974
19.6.3 Kopieren per API-Funktion. 974
19.6.4 Kopieren und komprimieren. 975
19.6.5 Kopieren und zippen. 975
19.6.6 Sicherungsstrategie. 975
19.7 Datenbank reparieren. 978
19.7.1 Symptome. 979
19.7.2 Sicherung geht vor. 979
19.7.3 Allgemeine Reparaturversuche . 980
19.7.4 Weitere Informationen. 980
19.8 Verweise und Probleme mit Verweisen. 980
19.8.1 Meldung bei fehlenden Verweisen . 981
19.8.2 Ohne Verweise arbeiten? . 982
19.8.3
Late Binding
und
Early Binding
. 983
19.8.4 Verweise und die Weitergabe von Anwendungen. 983
19.8.5 Auf Nummer Sicher.,.,. 983
24
Inhalt
19.8.6 Gleichnamige Objekte, Eigenschaften
und Methoden in Bibliotheken. 986
Index.987
25 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Minhorst, André |
author_GND | (DE-588)124053866 |
author_facet | Minhorst, André |
author_role | aut |
author_sort | Minhorst, André |
author_variant | a m am |
building | Verbundindex |
bvnumber | BV022255960 |
classification_rvk | ST 271 |
classification_tum | DAT 660f |
ctrlnum | (OCoLC)162473226 (DE-599)BVBBV022255960 |
dewey-full | 005.7565 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.7565 |
dewey-search | 005.7565 |
dewey-sort | 15.7565 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV022255960</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20180809</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">070205s2007 xx ad|| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">98266656X</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783827324603</subfield><subfield code="9">978-3-8273-2460-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3827324602</subfield><subfield code="9">3-8273-2460-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)162473226</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022255960</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-N2</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-525</subfield><subfield code="a">DE-2070s</subfield><subfield code="a">DE-92</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.7565</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 271</subfield><subfield code="0">(DE-625)143639:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 660f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Minhorst, André</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)124053866</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Access 2007 - das Grundlagenbuch für Entwickler</subfield><subfield code="c">André Minhorst</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">München [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1025 S.</subfield><subfield code="b">zahlr. Ill., graph. Darst.</subfield><subfield code="e">CD-ROM (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Programmer's choice</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Frühere Ausg. u.d.T.: Minhorst, André: Das Access-2003-Entwicklerbuch</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Access 2007</subfield><subfield code="0">(DE-588)7564284-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Access 2007</subfield><subfield code="0">(DE-588)7564284-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015466679&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015466679</subfield></datafield></record></collection> |
id | DE-604.BV022255960 |
illustrated | Illustrated |
index_date | 2024-07-02T16:41:10Z |
indexdate | 2024-11-14T15:01:32Z |
institution | BVB |
isbn | 9783827324603 3827324602 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015466679 |
oclc_num | 162473226 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-824 DE-12 DE-Aug4 DE-N2 DE-523 DE-11 DE-525 DE-2070s DE-92 |
owner_facet | DE-91G DE-BY-TUM DE-824 DE-12 DE-Aug4 DE-N2 DE-523 DE-11 DE-525 DE-2070s DE-92 |
physical | 1025 S. zahlr. Ill., graph. Darst. CD-ROM (12 cm) |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Programmer's choice |
spelling | Minhorst, André Verfasser (DE-588)124053866 aut Access 2007 - das Grundlagenbuch für Entwickler André Minhorst München [u.a.] Addison-Wesley 2007 1025 S. zahlr. Ill., graph. Darst. CD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier Programmer's choice Frühere Ausg. u.d.T.: Minhorst, André: Das Access-2003-Entwicklerbuch Access 2007 (DE-588)7564284-0 gnd rswk-swf Access 2007 (DE-588)7564284-0 s DE-604 Digitalisierung UB Regensburg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015466679&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Minhorst, André Access 2007 - das Grundlagenbuch für Entwickler Access 2007 (DE-588)7564284-0 gnd |
subject_GND | (DE-588)7564284-0 |
title | Access 2007 - das Grundlagenbuch für Entwickler |
title_auth | Access 2007 - das Grundlagenbuch für Entwickler |
title_exact_search | Access 2007 - das Grundlagenbuch für Entwickler |
title_exact_search_txtP | Access 2007 - das Grundlagenbuch für Entwickler |
title_full | Access 2007 - das Grundlagenbuch für Entwickler André Minhorst |
title_fullStr | Access 2007 - das Grundlagenbuch für Entwickler André Minhorst |
title_full_unstemmed | Access 2007 - das Grundlagenbuch für Entwickler André Minhorst |
title_short | Access 2007 - das Grundlagenbuch für Entwickler |
title_sort | access 2007 das grundlagenbuch fur entwickler |
topic | Access 2007 (DE-588)7564284-0 gnd |
topic_facet | Access 2007 |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015466679&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT minhorstandre access2007dasgrundlagenbuchfurentwickler |