دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: پایگاه داده ها ویرایش: نویسندگان: Andre Minhorst سری: ISBN (شابک) : 3827324602, 9783827324603 ناشر: سال نشر: تعداد صفحات: 1028 زبان: German فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 15 مگابایت
در صورت تبدیل فایل کتاب Access 2007. Das Grundlagenbuch für Entwickler GERMAN به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Access 2007. کتاب اصلی برای توسعه دهندگان آلمانی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Vorwort......Page 27
1 Warum Access 2007?......Page 31
1.1 Die Benutzeroberfläche......Page 32
1.1.1 Navigationsbereich statt Datenbankfenster......Page 33
1.1.2 Ribbon statt Menü- und Symbolleisten......Page 35
1.1.3 Neuer Optionen-Dialog......Page 36
1.2 Neues Datenbankformat......Page 37
1.4 Goodbye Sicherheitssystem......Page 38
1.5 Neue Sicherheitsfunktionen......Page 39
1.9 MDI vs. SDI oder »Jedem Objekt sein Register«......Page 40
1.11 Mehrwertige Felder......Page 41
1.12.1 Rich-Text......Page 42
1.12.5 Kombinationsfelder und Listenfelder......Page 43
1.13.1 Alternative Hintergrundfarbe......Page 44
1.14.1 Layoutansicht......Page 45
1.14.3 Filtern und Sortieren......Page 46
1.14.6 Verankern von Steuerelementen......Page 47
1.15.1 Berichtsansicht......Page 48
1.16 VBA......Page 49
1.16.1 TempVars......Page 50
1.17.2 ClearType-Fonts in Access......Page 52
1.17.6 Daten sammeln per E-Mail......Page 53
1.17.7 SharePoint......Page 54
2 Tabellen und Datenmodellierung......Page 55
2.1.1 Tabellen anlegen......Page 57
2.1.2 Felder hinzufügen......Page 58
2.1.3 Schlüssel festlegen......Page 69
2.1.4 Eigenschaften festlegen......Page 72
2.1.5 Beziehungen herstellen......Page 75
2.1.6 Nachschlagefelder mit Wertliste......Page 82
2.1.7 Tabelleninformationen im Überblick......Page 85
2.2 Namenskonventionen für Tabellen und Felder......Page 86
2.2.1 Tabellennamen......Page 87
2.2.2 Feldnamen......Page 89
2.3 Normalisierung......Page 91
2.3.1 Die erste Normalform......Page 93
2.3.2 Die zweite Normalform......Page 98
2.3.3 Die dritte Normalform......Page 101
2.4.1 Integrität der Werte (Wertbereichsintegrität)......Page 103
2.4.2 Format der Werte (semantische Integrität)......Page 104
2.4.4 Eindeutige Datensätze (Entitätsintegrität)......Page 105
2.5 Beziehungen......Page 107
2.5.1 Benennen von Primär- und Fremdschlüsselfeldern......Page 109
2.5.2 Halbautomatisches Festlegen von Beziehungen......Page 110
2.5.3 Festlegen referentieller Integrität......Page 111
2.5.5 n:1-Beziehungen oder Lookup-Beziehungen......Page 113
2.5.6 m:n-Beziehungen......Page 117
2.5.7 1:1-Beziehungen......Page 119
2.5.8 Reflexive Beziehungen......Page 124
2.6 Autowerte als Long oder GUID?......Page 127
2.7.1 Adressen-/Kundenverwaltung......Page 128
2.7.2 Rezepteverwaltung......Page 131
2.7.3 Artikelverwaltung......Page 132
2.7.4 CD-Verwaltung......Page 134
2.7.6 Mitarbeiterverwaltung......Page 136
2.7.8 Mitgliederverwaltung......Page 138
2.7.9 Urlaubsverwaltung......Page 140
2.7.10 Aufgabenverwaltung......Page 141
2.7.11 Projektzeitverwaltung......Page 143
2.7.12 Kunden und Weihnachtsgeschenke......Page 144
2.7.13 Fahrtenbuch......Page 145
3 Abfragen......Page 147
3.1 Anlegen von Abfragen mit Access 2007......Page 148
3.2 Abfragen mit Anlage-Feldern und mehrwertigen Feldern......Page 149
3.3.1 Tabelle als Datensatzquelle......Page 151
3.3.2 SQL-Ausdruck als Datensatzquelle......Page 152
3.3.4 Datensatzquelle per VBA zuweisen......Page 153
3.3.5 Parameter statt Zusammensetzen von SQL-Ausdrücken......Page 154
3.3.8 Zeichenkette oder Zahlenwert?......Page 158
3.3.9 Probleme mit Datumsangaben......Page 160
3.4 Aktualisierbarkeit von Abfragen......Page 162
3.4.2 Nicht aktualisierbare Abfragen......Page 163
3.5.1 UNION-Abfragen zur Optimierung von Kombinationsfeldern......Page 165
3.5.2 Eindeutige Schlüssel mit UNION-Abfragen......Page 167
3.5.3 INSERT INTO mit UNION-Abfragen......Page 168
3.6 Suchen in m:n-Beziehungen......Page 169
3.7 Handhabung von 1:1-Beziehungen......Page 172
3.8.1 Extremwert einer Gruppierung ermitteln......Page 177
3.8.3 Extremwerte per Unterabfrage......Page 178
3.8.4 Extremwerte von Gruppierungen......Page 179
3.9 Datensätze mehrfach anzeigen......Page 181
3.10 Nummerierung von Datensätzen......Page 182
3.10.1 Alternative: Nummerieren per Unterabfrage......Page 183
3.11 Reflexive 1:n-Beziehungen......Page 184
3.12 Reflexive m:n-Beziehungen......Page 186
4 Formulare......Page 187
4.1.1 Anlegen eines Formulars......Page 188
4.1.2 Formularansichten......Page 192
4.1.3 Geteilte Formulare......Page 196
4.1.4 Hilfreiche Funktionen für den Formularentwurf......Page 198
4.1.5 Sonstige Neuerungen......Page 201
4.1.6 Formularvorlage......Page 204
4.2 Formulare öffnen......Page 205
4.3.1 Ereignisse in Formularen......Page 206
4.3.2 Abfolge und Bedeutung der Ereignisse beim Öffnen und Schließen eines Formulars......Page 209
4.3.3 Abfolge und Bedeutung der Ereignisse beim Bearbeiten von Datensätzen......Page 210
4.4 Ereignisse von Steuerelementen......Page 212
4.5.1 Einfache Daten in der Detailansicht......Page 216
4.5.2 Einfache Daten in der Übersicht mit Endlosformularen......Page 220
4.5.3 Einfache Daten in der Übersicht als Datenblatt......Page 224
4.5.4 Daten in der Übersicht als Listenfeld......Page 229
4.5.5 1:1-Beziehungen......Page 231
4.5.6 n:1-Beziehungen......Page 232
4.5.7 1:n-Beziehungen......Page 233
4.5.8 1:n-Beziehung per Unterformular und Datenblattansicht......Page 234
4.5.9 1:n-Beziehung per Listenfeld......Page 238
4.5.10 m:n-Beziehungen in Haupt- und Unterformular......Page 240
4.5.11 m:n-Beziehungen per Listenfeld......Page 246
4.5.12 Reflexive Beziehungen......Page 253
4.6 Von Formular zu Formular......Page 256
4.7.1 Eingabe von Daten ohne Detaildatensatz......Page 260
4.7.2 Undo in Haupt- und Unterformular......Page 262
4.8.1 Validieren direkt bei der Eingabe......Page 275
4.8.2 Validieren vor dem Speichern......Page 276
4.8.3 Sonderfälle beim Validieren......Page 279
4.9.1 Schnelles Suchen in Formularen......Page 280
4.9.2 Schnelles Filtern in der Datenblattansicht......Page 281
4.9.3 Schnellauswahl per Kombinationsfeld......Page 282
4.9.4 Schnelles Filtern von Listenfeldern......Page 284
5.1.1 Rich-Text in Textfeldern......Page 289
5.1.2 Datum auswählen......Page 291
5.2 Schaltflächen......Page 292
5.3 Kombinationsfelder......Page 293
5.3.5 Mehrwertige Felder......Page 295
5.4.2 Auswählen-Eintrag hinzufügen......Page 296
5.4.3 Abhängige Kombinationsfelder......Page 297
5.4.4 Bestimmten Eintrag auswählen......Page 298
5.4.6 Wert zu einem gebundenen Kombinationsfeld hinzufügen......Page 299
5.5.1 Mehrfachauswahl auslesen......Page 300
5.5.2 Ja/Nein-Felder im Listenfeld anzeigen......Page 301
5.6 Unterformulare......Page 302
5.9.1 Steuerelemente verankern......Page 303
5.9.3 Gitternetzlinien......Page 305
5.10 Das TreeView-Steuerelement......Page 306
5.10.1 TreeView anlegen......Page 307
5.10.3 Erzeugen eines Baumes......Page 311
5.10.4 Stil einstellen......Page 313
5.10.5 Element-Eigenschaften per VBA zuweisen......Page 314
5.10.7 Daten aus Tabellen im TreeView-Steuerelement darstellen......Page 315
5.10.8 Daten aus verknüpften Tabellen anzeigen......Page 316
5.10.9 Reflexive Daten im TreeView-Steuerelement......Page 318
5.10.10 TreeView füllen bei großen Datenbeständen......Page 320
5.10.11 Elemente erst bei Bedarf anlegen......Page 321
5.10.12 Neuzeichnen des Baumes verhindern......Page 323
5.10.14 VBA-Ereignisprozeduren für Drag and Drop einrichten......Page 324
5.11 ListView......Page 328
5.11.1 Möglichkeiten des ListView-Steuerelements......Page 329
5.11.2 Füllen des ListView-Steuerelements......Page 330
5.11.3 Eigenschaften des ListView-Steuerelements......Page 331
5.11.4 Sortieren von ListView-Einträgen......Page 332
5.11.5 Einträge des ListView-Steuerelements auswählen......Page 334
5.11.6 ListView-Steuerelement mit Daten füllen......Page 337
5.11.7 Icons im ListView-Steuerelement......Page 340
5.11.8 Drag and Drop mit dem ListView-Steuerelement......Page 345
5.11.9 Reihenfolge per Drag and Drop einstellen......Page 350
5.12 Das ImageList-Steuerelement......Page 354
5.13.1 Standardeinstellungen speichern......Page 358
5.13.2 Autoformate......Page 359
6.1 Berichte erstellen......Page 361
6.1.1 Anlegen eines Berichts......Page 362
6.1.2 Vereinfachtes Layouten......Page 364
6.1.3 Einheitliches Design mit Autoformat......Page 365
6.1.5 Bedingte Formatierung......Page 366
6.1.7 Berichtsbereiche......Page 367
6.2 Berichte anzeigen......Page 368
6.3 Filtern und sortieren......Page 369
6.3.2 Filtern, Sortieren und Gruppieren in der Layoutansicht......Page 371
6.3.4 Sortieren in der Layoutansicht......Page 372
6.3.5 Gruppieren in der Layoutansicht......Page 373
6.3.6 Summen in der Layoutansicht......Page 375
6.4.1 Berichtsbereiche......Page 376
6.4.2 Ereignisse in Berichten......Page 377
6.4.4 Zusammenfassung der Bereichsereignisse......Page 378
6.4.5 Zugriff auf die Berichtsbereiche......Page 380
6.5.1 Beim Öffnen: Auswertung von Öffnungsargumenten......Page 381
6.5.2 Bei Aktivierung und Bei Deaktivierung: Berichtsabhängige Funktionen ein- und ausschalten......Page 384
6.5.5 Bei Seite: Seiten verschönern......Page 385
6.5.6 Beim Formatieren: Layout anpassen......Page 387
6.5.7 Beim Drucken......Page 388
6.6 Wichtige Eigenschaften von Berichten und Berichtsbereichen......Page 390
6.6.1 Kopfzeilenbereich und Fußzeilenbereich......Page 391
6.6.2 Gruppieren nach und Intervall......Page 392
6.6.4 Neue Seite, Zeile oder Spalte......Page 393
6.6.5 Vergrößerbar und Verkleinerbar......Page 394
6.7 Darstellung von Daten......Page 395
6.7.1 Einzelne Tabellen......Page 396
6.7.2 1:n-Beziehungen......Page 400
6.7.3 m:n-Beziehungen......Page 403
6.8.2 Einbinden der Unterberichte in den Hauptbericht......Page 404
6.9 Rechnungserstellung mit Berichten......Page 407
6.9.2 Erstellen des Gruppenkopfs......Page 410
6.9.3 Anlegen des Detailbereichs......Page 411
6.9.5 Summenbildung im Fußbereich der Gruppierung......Page 412
6.9.7 Überschriften für Folgeseiten und Rechnungsübertrag......Page 413
6.9.8 Rechnungsentwurf im Zusammenhang und Restarbeiten......Page 414
6.10 Die Berichtsansicht......Page 419
6.11 Anwendungsbeispiel für die Berichtsansicht......Page 420
7 VBA......Page 425
7.2 Namenskonventionen in VBA......Page 426
7.3.1 Funktionalität vor Schönheit?......Page 427
7.3.2 Code einrücken zur Verdeutlichung der logischen Struktur......Page 428
7.3.3 Leerzeilen für bessere Lesbarkeit......Page 430
7.3.4 Zeilenumbrüche......Page 431
7.3.5 Anweisungen zusammenfassen......Page 432
7.4 Kommentare......Page 433
7.5 Konstanten......Page 434
7.6.1 Variablennamen......Page 437
7.6.2 Spezielle Variablennamen......Page 438
7.6.3 Arrays......Page 439
7.6.4 Benutzerdefinierte Typen......Page 440
7.7.1 If...Then-Anweisung......Page 441
7.7.2 Select Case......Page 444
7.7.3 For...Next-Schleifen......Page 445
7.7.4 For Each-Schleifen......Page 446
7.7.5 Do…Loop-Schleifen und Varianten......Page 447
7.7.6 Exit......Page 448
7.7.7 Die GoTo-Anweisung und Sprungmarken......Page 449
7.8.1 Routinenarten......Page 450
7.8.2 Routinennamen......Page 451
7.8.5 Parameter und Rückgabewerte einer Routine......Page 453
7.8.6 Gleichzeitige Rückgabe von Statuswert und Ergebnis......Page 456
7.8.7 Alle Routinen verwenden......Page 457
8.1 SQL-Versionen......Page 459
8.2 SQL und Access......Page 460
8.2.1 Wozu trotz Abfrage-Entwurfsansicht SQL lernen?......Page 461
8.2.2 Wo lässt sich SQL überall einsetzen?......Page 462
8.3 Daten auswählen......Page 463
8.3.1 Festlegen der anzuzeigenden Felder......Page 464
8.3.2 Festlegen der enthaltenen Tabellen......Page 465
8.3.3 Festlegen von Bedingungen......Page 466
8.3.4 Vergleichsausdrücke......Page 467
8.3.5 Sortieren von Daten......Page 470
8.3.6 Aggregatfunktionen......Page 471
8.3.7 Gruppieren von Daten......Page 472
8.3.9 Verknüpfen von Tabellen in Abfragen......Page 475
8.3.11 Zugriff auf Felder des Datentyps Anhang und mehrwertige Felder......Page 485
8.4.1 Daten aktualisieren......Page 486
8.4.3 Daten an bestehende Tabelle anfügen......Page 487
8.4.4 Neue Tabelle mit Daten erstellen......Page 489
8.5.1 Tabellen erstellen......Page 490
8.5.2 Primärschlüssel, Indizes und Einschränkungen mit CONSTRAINT......Page 493
8.5.3 Tabelle ändern......Page 499
8.5.5 Index löschen......Page 500
9 DAO......Page 501
9.1 DAO und ADO im Einsatz......Page 503
9.2.1 Zugriff auf die Elemente des Objektmodells......Page 504
9.2.2 Deklarieren und Instanzieren......Page 506
9.2.3 Auf Auflistungen zugreifen......Page 507
9.2.4 Punkte und Ausrufezeichen......Page 508
9.4 Workspace — Arbeitsbereich oder Sitzung?......Page 509
9.4.2 Aufgaben des Workspace-Objekts......Page 510
9.5 Aktuelle Datenbank referenzieren......Page 511
9.5.1 Users und Groups......Page 513
9.6.2 Erstellen einer Tabelle......Page 514
9.6.4 Attachment-Feld anlegen......Page 517
9.6.5 Mehrwertige Felder anlegen......Page 518
9.6.6 Löschen einer Tabelle......Page 521
9.6.7 Erstellen eines Index......Page 522
9.6.8 Löschen eines Index......Page 523
9.6.9 Erstellen einer Beziehung......Page 524
9.6.12 Zugriff auf Auflistungen und Elemente......Page 526
9.6.13 Datensatzgruppen erstellen mit OpenRecordset......Page 528
9.6.14 Ausführen von Aktionsabfragen......Page 533
9.7.1 Methoden und Eigenschaften des Recordset2-Objekts......Page 534
9.7.3 Alle Datensätze durchlaufen......Page 536
9.7.5 Aktuelle Position des Datensatzzeigers ermitteln......Page 537
9.7.6 Anzahl der Datensätze ermitteln......Page 539
9.7.7 Daten aus Datensätzen ausgeben......Page 541
9.7.9 Die Seek-Methode zum Suchen in Table-Recordsets......Page 542
9.7.10 Die Find-Methoden zum Suchen in Dynaset- und Snapshot-Recordsets......Page 543
9.7.11 Alle Datensätze mit einem bestimmten Kriterium finden......Page 544
9.7.12 Lesezeichen......Page 545
9.8.1 Sortieren mit der Sort-Eigenschaft......Page 546
9.8.2 Sortieren mit der Index-Eigenschaft......Page 547
9.8.3 Filtern mit der Filter-Eigenschaft......Page 548
9.9.1 Anlegen eines Datensatzes......Page 549
9.9.3 Löschen eines Datensatzes......Page 550
9.9.5 Attachment-Felder auslesen......Page 551
9.9.6 Dateien aus einem Attachment-Feld auf der Festplatte speichern......Page 555
9.9.7 Datei in Attachment-Feldern speichern......Page 557
9.9.9 Ersetzen eines Attachments......Page 558
9.9.10 Umgang mit mehrwertigen Feldern......Page 559
9.9.11 Lesen des Inhalts von mehrwertigen Feldern, Variante I......Page 560
9.10 QueryDefs — Auswahl oder Aktion nach Wahl......Page 561
9.11 Transaktionen......Page 562
10 ADO......Page 567
10.1 Zugriff auf eine Datenquelle herstellen......Page 568
10.2.1 Anlegen einer Tabelle......Page 571
10.2.3 Löschen einer Tabelle......Page 573
10.2.4 Erstellen eines Index......Page 574
10.2.6 Erstellen einer Beziehung......Page 575
10.3.1 Ausgeben aller Tabellen......Page 577
10.3.3 Datensatzgruppe auf Basis einer Tabelle öffnen......Page 578
10.3.5 Sperrung von Daten......Page 579
10.3.7 Daten eines Recordsets mit mehrwertigen Feldern ausgeben......Page 580
10.3.8 Daten eines Recordsets mit Attachment-Feldern ausgeben......Page 581
10.3.10 Prüfen, ob eine Datensatzgruppe leer ist......Page 582
10.3.12 Speichern der Daten in einem Array......Page 583
10.3.13 Abfragen mit Parametern verwenden......Page 584
10.4.1 Gesuchte Datensätze per Source-Eigenschaft des Recordsets ermitteln......Page 585
10.4.2 Seek......Page 586
10.4.3 Find......Page 588
10.4.4 Filtern......Page 589
10.4.5 Sortieren......Page 590
10.5.1 Datensatz anlegen......Page 591
10.5.2 Datensatz bearbeiten......Page 592
10.6 Transaktionen......Page 593
10.7.2 Datensatzgruppe laden......Page 594
10.7.3 Ungebundene Recordsets verwenden......Page 595
10.7.4 Disconnected Recordsets......Page 596
10.7.5 Ereignisse von Datensatzgruppen......Page 599
11 Bilder und binäre Dateien......Page 601
11.1 Bilder und Dateien als Anlage speichern......Page 602
11.2 Bilder aus Anlage-Feldern in Formularen anzeigen......Page 604
11.3 Bilder aus Anlage-Feldern in Berichten anzeigen......Page 607
11.4 Bilder und Dateien aus Anlage-Feldern auf der Festplatte speichern......Page 608
11.5 Dateien per VBA in Anlage-Felder importieren und exportieren......Page 609
11.5.1 Importieren von Dateien in Anlage-Felder......Page 610
11.5.2 Exportieren von Dateien aus dem Anlage-Feld......Page 612
11.6 Bilder und Dateien im OLE-Feld einbetten oder verknüpfen......Page 614
11.7 Bilder und Dateien als Binärstrom im OLE-Feld speichern......Page 615
11.8 Bilder und Dateien im binären Format aus einem OLE-Feld wiederherstellen......Page 617
11.9.1 Anzeigen externer Bilddateien im Formular......Page 619
11.9.2 Anzeige externer Bilddateien in Berichten......Page 621
11.9.3 Alternative zum Bildsteuerelement von Access......Page 622
11.10.1 Bilder aus dem OLE-Feld in einem Formular anzeigen......Page 624
11.10.2 Bild aus einem OLE-Feld wiederherstellen......Page 627
11.10.3 Speichern in verschiedenen Formaten......Page 628
11.10.4 Bilder bearbeiten......Page 629
11.10.5 Ersatz für Anlagen?......Page 630
12 Ribbon......Page 631
12.1 Definition des Ribbons......Page 632
12.2 Symbolleiste für den Schnellzugriff......Page 633
12.3 Eigene Ribbon-Tabs erstellen......Page 636
12.3.1 Ein einfaches Ribbon......Page 637
12.3.2 Schaltfläche mit Funktion versehen......Page 639
12.4 Fehler in Ribbon-XML-Dokumenten erkennen......Page 641
12.5.1 Die get...-Attribute......Page 642
12.5.2 Ereigniseigenschaften......Page 643
12.5.3 Umgang mit Callback-Funktionen......Page 644
12.6.1 Schaltflächen......Page 646
12.6.3 Textfelder......Page 650
12.6.4 Kombinationsfelder I: Das comboBox-Element......Page 652
12.6.5 Kombinationsfelder II: Das dropDown-Element......Page 656
12.6.6 Umschaltflächen......Page 658
12.6.7 Galerien......Page 659
12.6.8 Menüs (menu)......Page 661
12.6.9 Splitbuttons (splitButton)......Page 663
12.6.10 Gruppendialog anzeigen......Page 664
12.7 Weitere Anpassungen des Ribbons......Page 665
12.7.1 Tastenkombinationen......Page 666
12.7.3 Ribbon-Leiste minimieren......Page 667
12.7.5 Eine Gruppe ein- und ausblenden......Page 668
12.7.7 Eingebaute Steuerelemente aktivieren und deaktivieren......Page 669
12.7.10 Einen Eintrag zum Office-Menü hinzufügen......Page 670
12.7.11 Einträge des Office-Menüs ausblenden......Page 671
12.7.12 Einen Eintrag zur Schnellzugriffsleiste hinzufügen......Page 672
12.9 XML-Dokument mit Application.LoadCustomUI laden......Page 673
12.9.1 Dynamisches Aktualisieren des Ribbons......Page 675
12.9.2 Beispiel: Abhängige Kontrollkästchen......Page 676
12.10 Menü- und Symbolleisten aus bestehenden Access 2003-Anwendungen......Page 678
12.11.1 Auflistung der Ribbon-Elemente......Page 680
12.11.2 Attribute der Ribbon-Elemente......Page 682
12.11.3 Ereigniseigenschaften der Ribbon-Elemente......Page 684
12.11.4 Steuerelemente und ihre Eigenschaften......Page 687
13.1 Fehlerarten......Page 691
13.1.1 Syntaxfehler......Page 692
13.1.2 Laufzeitfehler......Page 694
13.2 Debugging in der VBA-Entwicklungsumgebung......Page 695
13.2.2 Das Direktfenster......Page 696
13.2.3 Haltepunkte......Page 697
13.2.5 Ausdrücke überwachen......Page 699
13.3 Fehlerbehandlung in VBA......Page 701
13.3.2 Fehlerbehandlung einleiten......Page 702
13.3.3 Klassischer Aufbau einer Fehlerbehandlung......Page 703
13.3.5 Das Err-Objekt......Page 704
13.3.8 Benutzerdefinierte Fehlerbehandlung temporär ausschalten......Page 705
13.3.9 Funktionale Fehlerbehandlung......Page 706
13.3.10 Benutzerdefinierte Fehler......Page 709
13.3.11 Fehler bei API-Aufrufen......Page 710
13.4 Fehlerdokumentation und -übermittlung......Page 711
13.4.2 Zeilen nummerieren......Page 712
13.4.3 Einsatz der accessVBATools......Page 714
13.5 Fehlerbehandlung in Formularen......Page 719
13.5.1 Behandlung von Formularfehlern......Page 720
13.5.2 Formularfehler dokumentieren......Page 721
14.1.1 Normalisieren des Datenmodells......Page 723
14.1.2 Indizes......Page 725
14.1.3 Datentypen......Page 727
14.2.1 Abfragen und die ACE-Engine......Page 728
14.2.2 Datenbank mit kompilierten Abfragen ausliefern......Page 734
14.2.4 Abfragen auf Performance trimmen......Page 735
14.3.2 Daten des Formulars......Page 737
14.3.3 Steuerelemente......Page 738
14.3.4 VBA in Formularen......Page 741
14.4 Berichte......Page 742
14.4.3 Bericht nur öffnen, wenn er Daten enthält......Page 743
14.5.1 Performance von VBA-Code optimieren......Page 744
14.5.3 Datenzugriff optimieren......Page 754
14.6 Sonstige Performance-Tipps......Page 755
14.6.4 Objektnamen-Autokorrektur abschalten......Page 756
14.7 Performance-Unterschiede messen......Page 757
14.7.1 Werkzeug für Performance-Tests selbst gebaut......Page 758
15 Objektorientierte Programmierung......Page 769
15.1 Abstrakte Datentypen, Klassen und Objekte......Page 772
15.2 Objekte......Page 773
15.2.1 Eingebaute Objekte......Page 774
15.2.3 Zugriff auf die Methoden, Eigenschaften und Ereignisse eines Objekts......Page 778
15.2.4 Lebensdauer eines Objekts......Page 779
15.3.2 Benennen des Klassenmoduls......Page 780
15.4 Eigenschaften einer Klasse......Page 781
15.4.1 Öffentliche und nicht öffentliche Eigenschaften......Page 782
15.4.2 Zugriff auf die Eigenschaften einer Klasse kontrollieren......Page 783
15.4.4 Property Set: Setzen von Objektvariablen......Page 785
15.4.5 Property Get: Lesen von skalaren Variablen und Objektvariablen......Page 786
15.4.6 Vertrauen ist gut, Kontrolle ist besser......Page 787
15.5 Methoden einer Klasse......Page 788
15.7.1 Ereignisse abfangen......Page 790
15.7.2 Eigene Ereignisse anlegen......Page 793
15.8 Benutzerdefinierte Auflistungen mit dem Collection-Objekt......Page 798
15.8.1 Auflistungen selbst gemacht......Page 799
15.8.2 Benutzerdefinierte Auflistungsklassen......Page 801
15.8.3 Nachbildung relationaler Beziehungen per Auflistungsklasse......Page 803
15.8.4 »Echtes« Objekt mit Auflistung......Page 808
15.9 Schnittstellen und Vererbung......Page 811
15.9.1 Beispiel für den Einsatz der Schnittstellenvererbung......Page 812
15.9.2 Vereinheitlichen per Schnittstellenvererbung......Page 814
15.9.3 Realisierung der Schnittstellenvererbung......Page 815
15.9.4 Was vom Beispiel übrig bleibt …......Page 817
16.1 Standardfunktionen von Formularen auslagern......Page 819
16.1.1 Formulare zur Datenbearbeitung......Page 820
16.1.2 Codeauslagerung am Beispiel der OK-Schaltfläche......Page 821
16.1.3 Abbrechen der Bearbeitung auslagern......Page 826
16.1.4 Löschen von Datensätzen auslagern......Page 827
16.1.6 Einstellen des Kombinationsfeldes für die Schnellauswahl......Page 829
16.1.7 Aktualisieren des Kombinationsfeldes......Page 831
16.1.8 Anzeige des im Kombinationsfeld ausgewählten Datensatzes......Page 833
16.2.1 Beispielformulare......Page 834
16.2.2 Erzeugen einer neuen Instanz......Page 835
16.2.4 Formularinstanz-Sammlung......Page 837
16.2.5 Neue Formularinstanz erzeugen und zur Collection hinzufügen......Page 838
16.2.6 Schließen aller Instanzen des Formulars......Page 840
16.2.7 Schließen einer bestimmten Instanz......Page 842
16.2.8 Schließen-Vorgang des Formulars anpassen......Page 845
16.3 Mehrschichtige Anwendungen......Page 846
16.3.1 Beispiel......Page 847
16.3.2 Die GUI-Schicht......Page 848
16.3.4 Die Datenzugriffsschicht......Page 849
16.3.7 Initialisieren des Formulars......Page 850
16.3.9 Aufruf der Methode GetPersons der Business-Schicht......Page 852
16.3.10 Zugriff des Datenzugriffsobjekts auf die Datenschicht......Page 853
16.3.11 Die Klasse clsPerson......Page 855
16.3.12 Auswählen und Anzeigen eines Datensatzes......Page 856
16.3.13 Einlesen von Personen, die nicht in der Collection enthalten sind......Page 858
16.3.14 Neuer Datensatz......Page 859
16.3.16 Datensatz neu anlegen oder aktualisieren?......Page 860
16.3.17 Neuen Datensatz anlegen......Page 861
16.3.18 Aktualisieren eines Datensatzes......Page 862
16.3.19 Löschen eines Datensatzes......Page 864
16.3.20 Businesslogik und mehr......Page 865
16.3.21 Objektklassen und Datenzugriffsobjekte automatisch erstellen......Page 866
17 Anpassen der Entwicklungsumgebung......Page 869
17.1.2 Fehlerbehandlung per Knopfdruck......Page 872
17.2 Programmieren der Entwicklungsumgebung......Page 874
17.3.1 Verweis für den Zugriff auf das VBE-Objektmodell einrichten......Page 876
17.3.2 Aufbau des Objektmodells......Page 877
17.4 Mit Modulen arbeiten......Page 878
17.4.1 Auflisten aller enthaltenen Module......Page 879
17.4.2 Anlegen eines neuen Moduls......Page 880
17.5 Mit Prozeduren arbeiten......Page 881
17.5.1 Lesender Zugriff auf den Quellcode......Page 882
17.5.4 Erste Zeile und Deklarationszeile einer Prozedur......Page 883
17.5.6 Anzahl der Codezeilen einer Prozedur......Page 884
17.5.7 Zu welcher Prozedur gehört eine Zeile?......Page 885
17.5.8 Ausgabe des kompletten Codes eines Moduls......Page 886
17.5.9 Ermitteln der Position der aktuellen Markierung......Page 887
17.5.10 Ermitteln des Inhalts der aktuellen Markierung......Page 888
17.5.11 In Modulen suchen......Page 889
17.6 Beispielanwendung: Codeviewer......Page 890
17.6.1 Anzeige der Module......Page 891
17.6.2 Anzeige der Prozedurliste......Page 893
17.6.3 Anzeige des Codes einer Prozedur......Page 897
17.7 Manipulieren des Quellcodes......Page 898
17.7.1 Code hinzufügen......Page 899
17.7.3 Löschen von Zeilen......Page 900
17.7.4 Beispielanwendung: Nummerieren von Codezeilen in einem Modul......Page 901
17.8 Toolwindows......Page 902
17.8.1 Benutzerdefiniertes Toolwindow = COM-Add-In......Page 903
17.8.2 Anlegen eines leeren Toolwindows......Page 904
17.8.3 Anlegen eines neuen Projekts......Page 905
17.8.4 Der COM-Add-In-Designer......Page 907
17.8.5 Das Userdocument als Toolwindow......Page 908
17.8.6 Ereignisprozeduren des COM-Add-Ins mit Leben füllen......Page 909
17.8.7 Anpassen der Eigenschaften des COM-Add-Ins......Page 914
17.8.8 Anzeige des Toolwindows beim Starten der VBA-Entwicklungsumgebung......Page 915
17.8.9 Testen des neuen Toolwindows......Page 916
17.9 COM-Add-Ins per Menübefehl aufrufen......Page 917
17.9.2 Objekte hinzufügen......Page 918
17.9.4 Anpassen des Standardmoduls......Page 920
17.9.6 Projekt speichern......Page 921
17.9.7 Hinzufügen der Funktionen und Menüs......Page 922
18 Sicherheit von Access-Datenbanken......Page 925
18.1 Code schützen per .accde-Datenbank......Page 926
18.2 Code schützen per Kennwort......Page 927
18.3 Einfacher Kennwortschutz mit Verschlüsselung......Page 928
18.4 Vertrauensstellungscenter......Page 929
18.5 Digitale Signaturen......Page 933
18.6 Schutz vor bösartigen SQL-Statements......Page 934
18.7 Kein Sicherheitssystem — was nun?......Page 935
18.7.2 Daten schützen: Alternativen......Page 936
18.8 MySQL......Page 938
18.8.1 MySQL installieren......Page 940
18.8.2 Einfache Konfiguration......Page 942
18.8.3 MySQL-Anweisungen......Page 943
18.8.5 Administrationstool für MySQL......Page 945
18.9.1 Upsizing von Access-Datenbanken auf MySQL......Page 946
18.9.2 Export von Tabellen nach MySQL......Page 947
18.9.4 Aktualisieren von Tabellen......Page 951
18.9.5 Internetverbindung mit MySQL......Page 952
18.9.6 Erstellen eines Profils mit PuTTY......Page 953
18.9.7 Testen des Tunnels......Page 954
19.1 Verschiedene Access-Versionen auf demselben Rechner......Page 957
19.2 Weitergabe von Access-Datenbanken......Page 958
19.2.1 Benutzerdefinierte Menüs......Page 959
19.2.4 Weitergabe ohne Runtime......Page 960
19.3 Aktionen beim Starten oder Beenden der Datenbank durchführen......Page 961
19.3.3 Aktion beim Schließen einer Datenbank ausführen......Page 962
19.4 Datenbanken komprimieren und reparieren......Page 964
19.5.3 Tabellen aus der Ausgangsdatenbank löschen......Page 965
19.5.5 Erneutes Einbinden der Tabellen nach Umbenennen oder Verschieben des Backends......Page 966
19.5.6 Zeitpunkt zum Wiedereinbinden von Tabellen......Page 970
19.6.1 Voraussetzungen und Vorbereitungen......Page 971
19.6.3 Kopieren per API-Funktion......Page 974
19.6.6 Sicherungsstrategie......Page 975
19.7 Datenbank reparieren......Page 978
19.7.2 Sicherung geht vor......Page 979
19.8 Verweise und Probleme mit Verweisen......Page 980
19.8.1 Meldung bei fehlenden Verweisen......Page 981
19.8.2 Ohne Verweise arbeiten?......Page 982
19.8.5 Auf Nummer Sicher......Page 983
19.8.6 Gleichnamige Objekte, Eigenschaften und Methoden in Bibliotheken......Page 986
Index......Page 987