Grundlagen und Praxiswissen. Für die Versionen 2010, 2013 und 2016
E-Book, Deutsch, 1199 Seiten
ISBN: 978-3-446-45059-2
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
1;Inhaltsverzeichnis;6
1.1;Teil I: Grundlagen;6
1.2;Teil II: Datenschnittstellen;12
1.3;Teil III: Weitere Technologien;19
2;Vorwort;28
3;1 Einführung;34
3.1;1.1 VBA-Programmierung in Access;34
3.1.1;1.1.1 Visual Basic versus VBA;34
3.1.2;1.1.2 Objekt- und ereignisorientierte Programmierung;35
3.1.3;1.1.3 VBA- oder Makro-Programmierung?;36
3.1.4;1.1.4 Die VBA-Entwicklungsumgebung;37
3.1.5;1.1.5 Formularentwurf;37
3.1.6;1.1.6 Code-Fenster und Symbolleiste;38
3.1.7;1.1.7 Das Eigenschaftenfenster;39
3.1.8;1.1.8 Der Projekt-Explorer;40
3.1.9;1.1.9 Das Code-Fenster;40
3.1.10;1.1.10 Arbeiten mit der Hilfe;43
3.2;1.2 Sicherheitseinstellungen;44
3.2.1;1.2.1 Zur Geschichte der Access-Sicherheit;44
3.2.2;1.2.2 Eine nicht vertrauenswürdige Datenbank öffnen;45
3.2.3;1.2.3 Das Sicherheitscenter;47
3.2.4;1.2.4 Definition vertrauenswürdiger Speicherorte;50
3.3;1.3 Einführungsbeispiele;51
3.3.1;1.3.1 Erstellen der Testdatenbank;52
3.3.2;1.3.2 Konventionelle Programmierung;53
3.3.3;1.3.3 Programmieren mit VBA;57
3.3.4;1.3.4 Automatische Makrokonvertierung;62
3.3.5;1.3.5 Programmieren mit Datenmakros;63
3.4;1.4 Highlights und Features von Access 2016;65
3.4.1;1.4.1 Zur Geschichte der Vorgängerversionen;65
3.4.2;1.4.2 Microsoft Access 2016 – viel Lärm um nichts?;68
3.4.3;1.4.3 Der inoffizielle Access-Friedhof (Access 2013/2016);69
3.5;1.5 Übersichten und Ergänzungen;69
3.5.1;1.5.1 Deutsche und englische Bezeichner;69
3.5.2;1.5.2 DoCmd-Objekt;71
4;2 Programmieren mit VBA;74
4.1;2.1 Datentypen, Variablen und Konstanten;74
4.1.1;2.1.1 Übersicht;74
4.1.2;2.1.2 Variablendeklaration;75
4.1.3;2.1.3 Konstantendeklaration;80
4.1.4;2.1.4 Gültigkeitsbereiche;81
4.2;2.2 Einzelheiten zu den Datentypen;84
4.2.1;2.2.1 Single- und Double-Datentypen;84
4.2.2;2.2.2 Integer-, Long- und Boolean-Datentypen;84
4.2.3;2.2.3 Date-Datentyp;85
4.2.4;2.2.4 Currency-Datentyp;87
4.2.5;2.2.5 String-Datentyp;88
4.2.6;2.2.6 Variant-Datentyp;90
4.3;2.3 Datenfelder (Arrays);93
4.3.1;2.3.1 Statische Arrays;93
4.3.2;2.3.2 Dynamische Arrays;95
4.4;2.4 Benutzerdefinierte Datentypen;97
4.4.1;2.4.1 Type-Anweisung;97
4.4.2;2.4.2 With-Anweisung;98
4.4.3;2.4.3 Strings innerhalb Type;98
4.4.4;2.4.4 Enumerationen;99
4.4.5;2.4.5 Arrays in benutzerdefinierten Typen;100
4.5;2.5 Operatoren;101
4.5.1;2.5.1 Arithmetische Operatoren;102
4.5.2;2.5.2 Logische Operatoren;104
4.5.3;2.5.3 Vergleichsoperatoren;105
4.6;2.6 Kontrollstrukturen;106
4.6.1;2.6.1 Bedingte Verzweigungen;106
4.6.2;2.6.2 Schleifenanweisungen;108
4.6.3;2.6.3 GoTo und GoSub;110
4.7;2.7 Zeichenkettenfunktionen;111
4.7.1;2.7.1 Stringverarbeitung;111
4.7.2;2.7.2 Format-Funktion;113
4.8;2.8 Vordefinierte Funktionen;117
4.8.1;2.8.1 Mathematische Funktionen;117
4.8.2;2.8.2 Finanzmathematische Funktionen;120
4.8.3;2.8.3 Datums-/Zeitfunktionen;121
4.9;2.9 Benutzerdefinierte Funktionen/Prozeduren;124
4.9.1;2.9.1 Funktion;124
4.9.2;2.9.2 Prozedur;125
4.9.3;2.9.3 Parameterübergabe ByRef oder ByVal;125
4.9.4;2.9.4 Optionale Argumente;126
4.9.5;2.9.5 Benannte Argumente;127
4.9.6;2.9.6 Parameter-Arrays;127
4.9.7;2.9.7 Dynamische Arrays als Argumente;128
4.9.8;2.9.8 Rückgabe von Arrays;128
4.9.9;2.9.9 Private-, Public- und Static-Deklarationen;129
4.10;2.10 Fehlersuche;131
4.10.1;2.10.1 Direktfenster;132
4.10.2;2.10.2 Verwendung des Debug-Objekts;132
4.10.3;2.10.3 Arbeiten mit dem Lokal-Fenster;133
4.10.4;2.10.4 Überwachungs-Fenster;135
4.10.5;2.10.5 Noch mehr Debugging;136
4.11;2.11 Fehlerbehandlung;140
4.11.1;2.11.1 Anweisungen zum Error-Handling;140
4.11.2;2.11.2 Beispiele zum Error-Handling;141
4.11.3;2.11.3 Fehlerbehandlung per Ereignis;143
4.11.4;2.11.4 Fehlerbehandlung komplett deaktivieren;144
4.12;2.12 Standarddialogfelder;144
4.12.1;2.12.1 Einfache Anweisung;145
4.12.2;2.12.2 Ausführliche Anweisung;146
4.12.3;2.12.3 Rückgabewerte der MsgBox-Funktion;146
4.12.4;2.12.4 Abfrage von Werten mit der InputBox-Funktion;148
4.13;2.13 Übersichten und Ergänzungen;149
4.13.1;2.13.1 Datumskonstanten;149
4.13.2;2.13.2 Rückgabewerte der VarType-Funktion;149
4.14;2.14 Praxisbeispiele;150
4.14.1;2.14.1 In einem Textfeld suchen;150
4.14.2;2.14.2 Zeitangaben runden;151
4.14.3;2.14.3 Das Wochenende feststellen;153
4.14.4;2.14.4 Mit dynamischen Arrays rechnen;154
4.14.5;2.14.5 Arbeiten mit dem Debugger;158
5;3 Makros – eine Einführung;164
5.1;3.1 Klassische Makros;164
5.1.1;3.1.1 Entwurfsoberfläche;164
5.1.2;3.1.2 Eigenständige Makros;165
5.1.3;3.1.3 Eingebettete Makros;168
5.1.4;3.1.4 Das AutoKeys-Makro;172
5.1.5;3.1.5 Das AutoExec-Makro;174
5.1.6;3.1.6 Potenziell gefährliche Makroaktionen;174
5.2;3.2 Datenmakros;175
5.2.1;3.2.1 Einsatzmöglichkeitem;176
5.2.2;3.2.2 Funktionsprinzip;176
5.2.3;3.2.3 Erzeugen von Datenmakros;177
5.2.4;3.2.4 Datenmakros umbenennen, löschen und ändern;178
5.2.5;3.2.5 USysApplicationLog;178
5.2.6;3.2.6 Aktionen in Datenmakros;179
5.2.7;3.2.7 Auswahl des richtigen Tabellenereignisses;180
5.3;3.3 Praxisbeispiele;181
5.3.1;3.3.1 Eingabe-Formular mit neuem Datensatz öffnen;182
5.3.2;3.3.2 Einen Datensatznavigator selbst bauen;183
5.3.3;3.3.3 Ein ereignisgesteuertes Datenmakro erstellen;185
5.3.4;3.3.4 Arbeiten mit einem benannten Datenmakro;190
5.3.5;3.3.5 Per VBA auf ein benanntes Datenmakro zugreifen;194
5.3.6;3.3.6 Änderungen von Tabelleninhalten protokollieren;195
6;4 Formulare und Steuerelemente;198
6.1;4.1 Allgemeines;198
6.1.1;4.1.1 Gruppen von Eigenschaften;199
6.1.2;4.1.2 Methoden;199
6.1.3;4.1.3 Gruppen von Ereignissen;199
6.2;4.2 Das Form-Objekt;200
6.2.1;4.2.1 Format-Eigenschaften;200
6.2.2;4.2.2 Daten-Eigenschaften;207
6.2.3;4.2.3 Weitere Eigenschaften;207
6.2.4;4.2.4 Fenster- und Fokus-Ereignisse;209
6.2.5;4.2.5 Tastatur- und Maus-Ereignisse;211
6.2.6;4.2.6 Daten- und Filter-Ereignisse;213
6.2.7;4.2.7 Weitere Ereignisse;215
6.2.8;4.2.8 Methoden;215
6.2.9;4.2.9 Unterformulare;218
6.3;4.3 Steuerelemente (Controls);219
6.3.1;4.3.1 Allgemeines;219
6.3.2;4.3.2 Allgemeine Eigenschaften auf einen Blick;220
6.3.3;4.3.3 Allgemeine Ereignisse auf einen Blick;230
6.3.4;4.3.4 Methoden von Steuerelementen;231
6.3.5;4.3.5 Das Screen-Objekt;232
6.4;4.4 ActiveX-Steuerelemente;234
6.4.1;4.4.1 Vergleich mit den integrierten Steuerelementen;234
6.4.2;4.4.2 StatusBar als Beispiel;236
6.5;4.5 Praxisbeispiele;240
6.5.1;4.5.1 Das Textfeld programmieren;240
6.5.2;4.5.2 In ungebundene Textfelder ein- und ausgeben;242
6.5.3;4.5.3 Ein ungebundenes Kombinationsfeld füllen;243
6.5.4;4.5.4 Ein Unterformular programmieren;246
6.5.5;4.5.5 Das Register-Steuerelement kennen lernen;249
6.5.6;4.5.6 Die Statusleiste programmieren;253
6.5.7;4.5.7 Verwenden von Bild-Ressourcen;256
6.5.8;4.5.8 Programmieren des Navigationssteuerelements;258
7;5 Berichte;262
7.1;5.1 Allgemeines;262
7.1.1;5.1.1 Reportansichten;262
7.1.2;5.1.2 Die OpenReport-Methode;263
7.1.3;5.1.3 Parameterübergabe;264
7.2;5.2 Wichtige Berichtseigenschaften;264
7.2.1;5.2.1 Formateigenschaften;264
7.2.2;5.2.2 Dateneigenschaften;265
7.2.3;5.2.3 Grafikeigenschaften;265
7.2.4;5.2.4 Linien- und Stifteigenschaften;269
7.2.5;5.2.5 Schrifteigenschaften;270
7.2.6;5.2.6 Farb- und Mustereigenschaften;270
7.2.7;5.2.7 Sonstige Eigenschaften;272
7.3;5.3 Berichtsereignisse;274
7.3.1;5.3.1 Allgemeine Ereignisse;274
7.3.2;5.3.2 Tastatur- und Mausereignisse;276
7.4;5.4 Berichtsmethoden;277
7.4.1;5.4.1 Grafikmethoden (Übersicht);277
7.4.2;5.4.2 Scale;277
7.4.3;5.4.3 Line;278
7.4.4;5.4.4 PSet;279
7.4.5;5.4.5 Circle;280
7.4.6;5.4.6 Print;281
7.4.7;5.4.7 TextWidth und TextHeight;282
7.4.8;5.4.8 Sonstige Methoden;283
7.5;5.5 Weitere Features des Report-Objekts;283
7.5.1;5.5.1 Rich-Text-Felder drucken;283
7.5.2;5.5.2 Verlauf eines Memofeldes drucken;284
7.5.3;5.5.3 Eine Liste der Anlagen drucken;284
7.5.4;5.5.4 Berichte nachträglich filtern;287
7.5.5;5.5.5 Berichte als PDF-Datei exportieren;288
7.5.6;5.5.6 Berichte als RTF-Datei exportieren;289
7.6;5.6 Das Printer-Objekt;289
7.6.1;5.6.1 Wo finde ich das Printer-Objekt?;290
7.6.2;5.6.2 Die Printers-Collection;290
7.6.3;5.6.3 Auswahl eines Druckers;291
7.6.4;5.6.4 Speichern von Berichts-Optionen;293
7.6.5;5.6.5 Eigenschaften des Printers;294
7.7;5.7 Direkte Druckausgabe;295
7.8;5.8 Übersichten;295
7.8.1;5.8.1 DrawMode-Eigenschaft;295
7.8.2;5.8.2 Farbkonstanten;296
7.9;5.9 Praxisbeispiele;296
7.9.1;5.9.1 Aufruf eines Berichts mit Datenfilter;296
7.9.2;5.9.2 Im Report gruppieren und rechnen;300
7.9.3;5.9.3 Erstellen und Drucken eines Diagramms;304
7.9.4;5.9.4 Berichte in Formularen anzeigen;308
8;6 Programmieren mit Objekten;310
8.1;6.1 Objektvariablen;310
8.1.1;6.1.1 Objekttypen und Set-Anweisung;310
8.1.2;6.1.2 Object-Datentyp;312
8.1.3;6.1.3 Form- und Report-Objekt;313
8.1.4;6.1.4 Control-Objekt;314
8.2;6.2 Formular- und Berichtsmodule;318
8.2.1;6.2.1 Instanzen von Formularen und Berichten;318
8.2.2;6.2.2 Benutzerdefinierte Form-/Report-Objekte;320
8.2.3;6.2.3 Eigenständige Klassenmodule;321
8.3;6.3 Auflistungen;325
8.3.1;6.3.1 Forms/Reports;325
8.3.2;6.3.2 Controls;326
8.3.3;6.3.3 Collection-Objekt;328
8.3.4;6.3.4 Dictionary-Objekt;330
8.3.5;6.3.5 Property und Properties;330
8.3.6;6.3.6 Module-Objekt und Modules-Auflistung;331
8.3.7;6.3.7 Reference-Objekt und References-Auflistung;333
8.4;6.4 Die Access-Objekthierarchie;335
8.4.1;6.4.1 Der Objektkatalog;335
8.4.2;6.4.2 Das Application-Objekt allgemein;336
8.4.3;6.4.3 Eigenschaften und Methoden des Application-Objekts;339
8.4.4;6.4.4 Weitere wichtige Objekte;344
8.4.5;6.4.5 AccessObject;345
8.4.6;6.4.6 CurrentProject;346
8.4.7;6.4.7 CurrentData;348
8.5;6.5 Übersichten;348
8.5.1;6.5.1 Konstanten der ControlType-Eigenschaft;348
8.5.2;6.5.2 Rückgabewerte der CurrentObjectType-Funktion;349
8.6;6.6 Praxisbeispiele;349
8.6.1;6.6.1 Ein Steuerelemente-Array automatisch erstellen;349
8.6.2;6.6.2 Mit Formular-Instanzen arbeiten;353
8.6.3;6.6.3 Mit einer eigenständigen Klasse experimentieren;355
8.6.4;6.6.4 Auf Objekte in Auflistungen zugreifen;358
8.6.5;6.6.5 Properties-Auflistungen untersuchen;361
9;7 DAO-Programmierung;366
9.1;7.1 Allgemeines;366
9.1.1;7.1.1 DBEngine;366
9.1.2;7.1.2 Workspace-Objekt;367
9.1.3;7.1.3 Database-Objekt;368
9.1.4;7.1.4 Recordset-Objekt;368
9.1.5;7.1.5 Verwendung der Datenbankobjekte;369
9.2;7.2 Grundlegende Arbeitstechniken;369
9.2.1;7.2.1 Arbeitsumgebung festlegen;370
9.2.2;7.2.2 Datenbank anlegen und öffnen;370
9.2.3;7.2.3 Tabellen/Indizes anlegen;374
9.2.4;7.2.4 Tabellen einbinden;379
9.2.5;7.2.5 Tabellen verknüpfen (Relationen);380
9.2.6;7.2.6 Abfragen erstellen/ausführen;382
9.2.7;7.2.7 Öffnen von Tabellen/Abfragen;384
9.3;7.3 Arbeiten mit Recordsets;387
9.3.1;7.3.1 Eigenschaften und Methoden von Recordsets;387
9.3.2;7.3.2 Datensätze anzeigen;390
9.3.3;7.3.3 Datensätze hinzufügen/ändern;392
9.3.4;7.3.4 Datensätze löschen;394
9.3.5;7.3.5 Datensätze sortieren;396
9.3.6;7.3.6 Datensätze suchen;397
9.3.7;7.3.7 Datensätze filtern;398
9.3.8;7.3.8 DAO in gebundenen Formularen;399
9.3.9;7.3.9 Auf Anlage-Felder zugreifen;402
9.3.10;7.3.10 Auf mehrwertige Felder zugreifen;405
9.3.11;7.3.11 Verlaufsverfolgung eines Memo-Felds;406
9.4;7.4 Weitere Funktionen;407
9.4.1;7.4.1 Eigenschaften (Properties);407
9.4.2;7.4.2 Transaktionen;409
9.5;7.5 Praxisbeispiele;410
9.5.1;7.5.1 Eine Tabelle anlegen;410
9.5.2;7.5.2 Navigieren mit DAO;413
9.5.3;7.5.3 Den Datensatzzeiger bewegen;416
9.5.4;7.5.4 In Recordsets suchen;420
9.5.5;7.5.5 Eine Datenbank analysieren;423
9.6;7.6 Komplexbeispiel: Telefonverzeichnis;426
9.6.1;7.6.1 Eingabemaske;426
9.6.2;7.6.2 Anforderungen;426
9.6.3;7.6.3 Programmierung;427
9.6.4;7.6.4 Test und Bemerkungen;436
10;8 ADO-Programmierung;438
10.1;8.1 Ein erster Blick auf ADO;438
10.1.1;8.1.1 Kleines Einführungsbeispiel;439
10.1.2;8.1.2 Zur Geschichte von ADO;440
10.1.3;8.1.3 Hinweise zu den ADO-Bibliotheken;441
10.1.4;8.1.4 ADO und OLE DB;442
10.1.5;8.1.1 ADO-Objektmodell;443
10.2;8.2 ADO-Grundoperationen;445
10.2.1;8.2.1 Beziehungen zwischen den Objekten;445
10.2.2;8.2.2 Die Verbindung zur Datenquelle;446
10.2.3;8.2.3 Aktionsabfragen mit dem Command-Objekt;450
10.2.4;8.2.4 Recordsets mit Daten füllen;452
10.3;8.3 Weitere Operationen mit Recordsets;457
10.3.1;8.3.1 Welche Recordset-Features werden unterstützt?;457
10.3.2;8.3.2 Editieren von Datensätzen;458
10.3.3;8.3.3 Hinzufügen von Datensätzen;459
10.3.4;8.3.4 Löschen von Datensätzen;459
10.3.5;8.3.5 Recordsets filtern;460
10.3.6;8.3.6 Ungebundene Recordsets;461
10.3.7;8.3.7 Recordsets abspeichern;462
10.3.8;8.3.8 Bewegen in Recordsets;462
10.3.9;8.3.9 Daten direkt einlesen;463
10.3.10;8.3.10 Sortieren;464
10.3.11;8.3.11 Suchen;465
10.3.12;8.3.12 Ereignisse auswerten;465
10.4;8.4 Zugriff auf ADO-Auflistungen;467
10.4.1;8.4.1 Allgemeine Features;467
10.4.2;8.4.2 Property und Properties;468
10.4.3;8.4.3 Field und Fields;469
10.4.4;8.4.4 Parameter und Parameters;470
10.4.5;8.4.5 Error und Errors;471
10.5;8.5 Übersichten;472
10.5.1;8.5.1 Connection-Objekt;472
10.5.2;8.5.2 Command-Objekt;473
10.5.3;8.5.3 Recordset-Objekt;473
10.6;8.6 Praxisbeispiele;475
10.6.1;8.6.1 Mit ADO auf eine Access-Datenbank zugreifen;475
10.6.2;8.6.2 Ein ADO-Datenklassenmodul verwenden;477
10.6.3;8.6.3 Ein intelligentes ADO-Frontend entwickeln;480
11;9 Datenbankverwaltung;486
11.1;9.1 Datenbankverwaltung mit ADOX;486
11.1.1;9.1.1 Datenbanken erstellen;488
11.1.2;9.1.2 Tabellendefinition;490
11.1.3;9.1.3 Indexdefinition;494
11.1.4;9.1.4 Erstellen von Prozeduren und Sichten;496
11.1.5;9.1.5 Tabellen verknüpfen (Relationen);497
11.2;9.2 Erstellen spezieller Feldtypen;498
11.2.1;9.2.1 Automatische Zufallswerte (GUID);498
11.2.2;9.2.2 Memofeld mit Archiv-Funktion (Nur anfügen);500
11.2.3;9.2.3 Anlage-Feld;502
11.2.4;9.2.4 Rich-Text-Feld;503
11.2.5;9.2.5 Multivalue-Feld (MVF);504
11.2.6;9.2.6 Berechnete Spalten;509
11.2.7;9.2.7 Beschreibung von Datenbankfeldern setzen;511
11.3;9.3 Zugriffsschutz in Access-Datenbanken;513
11.3.1;9.3.1 Grundlagen;513
11.3.2;9.3.2 Sichern auf Datenbankebene (DAO);515
11.3.3;9.3.3 Sichern auf Datenbankebene (ADO/ADOX);516
11.3.4;9.3.4 Erstellen neuer Benutzer und Gruppen (DAO);516
11.3.5;9.3.5 Vergabe von Rechten (DAO);518
11.3.6;9.3.6 Komplettbeispiel: Nutzerbasierte Sicherheit;520
11.3.7;9.3.7 Erstellen neuer Benutzer und Gruppen (ADOX);525
11.3.8;9.3.8 Vergabe von Rechten (ADOX);526
11.3.9;9.3.9 Verschlüsseln von Datenbanken;528
11.4;9.4 Multiuserzugriff;531
11.4.1;9.4.1 Verwenden der DAO;532
11.4.2;9.4.2 Verwenden der ADO;535
11.5;9.5 ODBC-Verbindungen;536
11.5.1;9.5.1 Ein Blick auf den ODBC-Datenquellen-Administrator;536
11.5.2;9.5.2 Erstellen einer ODBC-Verbindung (DAO);538
11.5.3;9.5.3 Öffnen einer ODBC-Verbindung (DAO);539
11.5.4;9.5.4 Öffnen einer ODBC-Verbindung (ADO);541
11.5.5;9.5.5 Konfigurieren von ODBC-Verbindungen;542
11.6;9.6 Zugriff auf Fremdformate;542
11.6.1;9.6.1 dBASE III/IV- und FoxPro-Datenbanken;543
11.6.2;9.6.2 Textdateien (TXT/ASC/CSV);547
11.7;9.7 Einbinden externer Tabellen;551
11.7.1;9.7.1 Verwenden der DAO;551
11.7.2;9.7.2 Verwenden der ADOX;553
11.8;9.8 Exportieren von Daten;555
11.8.1;9.8.1 TransferDatabase-Methode;555
11.8.2;9.8.2 Exportieren mit SQL-Anweisungen;556
11.9;9.9 Replizieren von Datenbanken;556
11.10;9.10 Optimierung;557
11.10.1;9.10.1 Indizes;557
11.10.2;9.10.2 Abfrage-Optimierung;557
11.10.3;9.10.3 Weitere Möglichkeiten;558
11.10.4;9.10.4 ADO/DAO/ODBC – Was ist schneller?;559
11.11;9.11 Tipps & Tricks;561
11.11.1;9.11.1 Wie prüft man die ADO-Versionsnummer?;561
11.11.2;9.11.2 Access-Datenbanken exklusiv öffnen;561
11.11.3;9.11.3 Access-Datenbanken im Netzwerk;562
11.11.4;9.11.4 Alle aktiven Verbindungen zur Datenbank auflisten;562
11.11.5;9.11.5 Das Datenbank-Kennwort ändern;563
11.11.6;9.11.6 Abfragen über mehrere Datenbanken;564
11.11.7;9.11.7 Datenbanken reparieren/komprimieren;564
12;10 Microsoft SQL Server;566
12.1;10.1 Ein erster Schock ...;566
12.2;10.2 Allgemeines;567
12.2.1;10.2.1 SQL Server LocalDB;568
12.2.2;10.2.2 SQL Server Express;569
12.2.3;10.2.3 Unterschiede SQL Server-Varianten/Jet-Engine;570
12.2.4;10.2.4 Client- versus Fileserver-Programmierung;572
12.2.5;10.2.5 Installation SQL Server Express;574
12.2.6;10.2.6 Netzwerkzugriff für den SQL Server Express;578
12.2.7;10.2.7 Die wichtigsten Tools von SQL Server;580
12.2.8;10.2.8 Vordefinierte Datenbanken;583
12.2.9;10.2.9 Einschränkungen;584
12.2.10;10.2.10 Weitere SQL Server-Funktionen im Kurzüberblick;585
12.2.11;10.2.11 Datenbanken verwalten;586
12.3;10.3 Transact-SQL – die Sprache des SQL Servers;588
12.3.1;10.3.1 Schreibweise;588
12.3.2;10.3.2 Kommentare;589
12.3.3;10.3.3 Zeichenketten;589
12.3.4;10.3.4 Variablen deklarieren/verwenden;590
12.3.5;10.3.5 Bedingungen mit IF/ELSE auswerten;591
12.3.6;10.3.6 Verwenden von CASE;592
12.3.7;10.3.7 Verwenden von WHILE…BREAK/CONTINUE;592
12.3.8;10.3.8 Datum und Uhrzeit in T-SQL;593
12.3.9;10.3.9 Verwenden von GOTO;593
12.4;10.4 Praktisches Arbeiten mit dem SQL Server;594
12.4.1;10.4.1 Erstellen neuer SQL Server-Datenbanken;594
12.4.2;10.4.2 Erzeugen und Verwalten von Tabellen;595
12.4.3;10.4.3 Erzeugen und Verwenden von Sichten (Views);596
12.4.4;10.4.4 Verwenden von Gespeicherten Prozeduren;598
12.4.5;10.4.5 Programmieren von Triggern;602
12.4.6;10.4.6 Erzeugen von Datenbankdiagrammen;606
12.4.7;10.4.7 Volltextabfragen;607
12.4.8;10.4.8 Datenbanken sichern und wiederherstellen;613
12.5;10.5 Fehlerbehandlung;616
12.5.1;10.5.1 Das Fehlermodell des SQL Servers;617
12.5.2;10.5.2 Verwenden von @@ERROR;617
12.5.3;10.5.3 Verwenden von RAISEERROR;618
12.5.4;10.5.4 Fehlerbehandlung mit TRY...CATCH;619
12.5.5;10.5.5 Fehlerbehandlung mit den ADO;621
12.6;10.6 Datensicherheit auf dem Microsoft SQL Server;623
12.6.1;10.6.1 Überblick Sicherheitsmodell;624
12.6.2;10.6.2 Verwalten mit dem SQL Server Management Studio;626
12.6.3;10.6.3 Verwalten mit T-SQL;630
12.7;10.7 Tipps & Tricks;633
12.7.1;10.7.1 Alle registrierten Microsoft SQL Server ermitteln;633
12.7.2;10.7.2 Alle Datenbanken ermitteln;634
12.7.3;10.7.3 Alle Tabellen ermitteln;634
12.7.4;10.7.4 Eine Tabelle löschen;635
12.7.5;10.7.5 Anzahl der Datensätze beschränken;636
12.7.6;10.7.6 Platzhalterzeichen in TSQL;637
12.7.7;10.7.7 Leerzeichen entfernen;637
12.7.8;10.7.8 Teilstrings erzeugen;637
12.7.9;10.7.9 Mit einer Datenbankdatei verbinden;638
12.7.10;10.7.10 Warum wird @@ERROR nicht korrekt verarbeitet?;639
12.7.11;10.7.11 Die Anzahl der Datensätze bestimmen;639
12.7.12;10.7.12 Warum sind Abfragen mit Platzhaltern so langsam?;639
12.7.13;10.7.13 Groß-/Kleinschreibung berücksichtigen;640
12.7.14;10.7.14 Das Ergebnis einer Stored Procedure speichern;640
12.7.15;10.7.15 Eine Datenbank umbenennen;640
12.7.16;10.7.16 Eine Datenbank zwischen Servern verschieben;641
12.7.17;10.7.17 Die Datenbankstruktur kopieren;642
12.7.18;10.7.18 Nach dem Löschen IDENTITY auf 0 setzen;643
12.7.19;10.7.19 Eine Tabellenspalte umbenennen;643
12.7.20;10.7.20 Temporäre Tabellen unterscheiden;643
12.7.21;10.7.21 Daten aus verschiedenen Datenbanken anzeigen;644
12.7.22;10.7.22 Einen SMO-Mapper realisieren;644
12.8;10.8 Übersichten;649
12.8.1;10.8.1 Datentypen;649
12.8.2;10.8.2 Unterschiede Access- und SQL Server-Datentypen;650
13;11 Access und Azure SQL;652
13.1;11.1 Einführung in SQL Azure-Datenbanken;653
13.1.1;11.1.1 Das Grundprinzip der "Webdatenbank";653
13.1.2;11.1.2 Der Azure-Server;655
13.1.3;11.1.3 Die Frage nach den Kosten;656
13.2;11.2 Einrichten des Servers;657
13.2.1;11.2.1 Die zentrale Organisationsstruktur;658
13.2.2;11.2.2 Einen Server und eine Datenbank erstellen;659
13.2.3;11.2.3 IP-Filter konfigurieren;663
13.2.4;11.2.4 Bemerkungen zum neu erstellten Account;664
13.2.5;11.2.5 Die drei konzeptionellen Zugriffsmodelle;664
13.3;11.3 Administrieren von Azure SQL-Datenbanken;667
13.3.1;11.3.1 Zugriff mit dem SQL Server Management Studio;667
13.3.2;11.3.2 Weitere Accounts erstellen;669
13.3.3;11.3.3 Lokale Datenbanken migrieren;672
13.3.4;11.3.4 Migrieren von Access-Datenbanken;675
13.4;11.4 Praktische Umsetzung in Access;677
13.4.1;11.4.1 Tabellen einbinden;678
13.4.2;11.4.2 DAO- oder ADO-Zugriff – keine Frage!;681
13.4.3;11.4.3 Unsere AzureSQL-Library;681
13.4.4;11.4.4 Verbindung mit ADO aufbauen;682
13.4.5;11.4.5 Datenbank erstellen;686
13.4.6;11.4.6 Ist die Datenbank schon vorhanden?;687
13.4.7;11.4.7 Den aktuellen "Füllstand" abrufen;688
13.4.8;11.4.8 Was passiert, wenn die Datenbank zu klein wird?;691
13.4.9;11.4.9 Eine Datenbankkopie erstellen;691
13.4.10;11.4.10 Tabelle(n) erstellen;692
13.4.11;11.4.11 Daten exportieren;693
13.4.12;11.4.12 Daten einbinden;694
13.4.13;11.4.13 Daten lesen;695
13.4.14;11.4.14 Daten schreiben;696
13.5;11.5 Abschließende Hinweise;697
13.5.1;11.5.1 Synchronisieren;697
13.5.2;11.5.2 Performance-Tipps;698
13.5.3;11.5.3 Die Firewall per T-SQL konfigurieren;698
13.5.4;11.5.4 Arbeiten mit sqlcmd;700
13.6;11.6 Fazit;700
14;12 Zugriff auf SQLite;702
14.1;12.1 Was eigentlich ist SQLite?;703
14.1.1;12.1.1 Vorteile;703
14.1.2;12.1.2 Nachteile;704
14.2;12.2 Vorbereitungen;704
14.2.1;12.2.1 Download/Installation des ODBC-Treibers;705
14.2.2;12.2.2 Download/Installation SQLite for Excel;706
14.3;12.3 Datenbank-Tools;707
14.3.1;12.3.1 Database .NET;707
14.3.2;12.3.2 SQLite Administrator;709
14.4;12.4 Praktische Aufgabenstellungen;710
14.4.1;12.4.1 Einbinden von SQLite-Tabellen per Assistent;710
14.4.2;12.4.2 Einbinden von SQLite-Tabellen per VBA-Code;711
14.4.3;12.4.3 Datenbank per Code erstellen;712
14.4.4;12.4.4 Tabellen erzeugen;713
14.4.5;12.4.5 Datenbankzugriff per ADO realisieren;715
14.4.6;12.4.6 Die Bedeutung von Transaktionen bei SQLite;716
14.4.7;12.4.7 SOUNDEX verwenden;717
14.4.8;12.4.8 Volltextabfragen realisieren;718
14.5;12.5 Praxisbeispiele;721
14.5.1;12.5.1 Verwenden der Volltextsuche;721
14.5.2;12.5.2 Implementieren der Klasse SQLiteDatabase;726
14.5.3;12.5.3 Verwenden der Klasse SQLiteDatabase;736
14.6;12.6 Tipps & Tricks;738
14.6.1;12.6.1 Für Liebhaber der Kommandozeile – Sqlite3.exe;738
14.6.2;12.6.2 Eine SQLite-Datenbank reparieren;740
14.6.3;12.6.3 Eine Beispieldatenbank herunterladen;741
14.6.4;12.6.4 Testen ob Tabelle vorhanden ist;741
14.6.5;12.6.5 Die Datenbank defragmentieren;741
14.6.6;12.6.6 Mehrere Datenbanken verknüpfen;742
14.6.7;12.6.7 Eine Abfrage/Tabelle kopieren;742
14.6.8;12.6.8 Ein Backup implementieren;743
14.6.9;12.6.9 Tabellen zwischen Datenbanken kopieren;743
14.6.10;12.6.10 Ersatz für TOP;743
14.6.11;12.6.11 Metadaten auswerten;744
14.6.12;12.6.12 Timestamp als Defaultwert verwenden;745
14.6.13;12.6.13 Export in XML-Format;746
14.7;12.7 Fazit;746
15;13 Dateien und Verzeichnisse;750
15.1;13.1 Allgemeines;750
15.1.1;13.1.1 ANSI/ASCII/Unicode;750
15.1.2;13.1.2 Gemeinsamer Dateizugriff;751
15.1.3;13.1.3 Verwenden der File System Objects;751
15.2;13.2 Zugriff auf das Dateisystem;753
15.2.1;13.2.1 Ermitteln aller Laufwerke und deren Eigenschaften;753
15.2.2;13.2.2 Ermitteln aller Verzeichnis-Eigenschaften;754
15.2.3;13.2.3 Auflisten aller Unterverzeichnisse eines Folders;755
15.2.4;13.2.4 Rekursiv alle Unterverzeichnisse auflisten;756
15.2.5;13.2.5 Ein Verzeichnis erzeugen;757
15.2.6;13.2.6 Das Datenbankverzeichnis bestimmen;758
15.2.7;13.2.7 Abfragen des Temp-/System/...-Verzeichnisses;758
15.2.8;13.2.8 Prüfen, ob eine Datei existiert;759
15.2.9;13.2.9 Verzeichnisse/Dateien kopieren/löschen;760
15.2.10;13.2.10 Auflisten aller Dateien eines Verzeichnisses;760
15.2.11;13.2.11 Name, Pfad und Extension einer Datei ermitteln;761
15.2.12;13.2.12 Einen Tempfile-Namen erzeugen;763
15.3;13.3 Textdateien;763
15.3.1;13.3.1 Klassischer Zugriff auf Textdateien;764
15.3.2;13.3.2 Zugriff auf Textdateien mit den File System Objects;766
15.4;13.4 Typisierte Dateien;769
15.4.1;13.4.1 Öffnen;769
15.4.2;13.4.2 Lesen/Schreiben;769
15.5;13.5 Weitere Dateien;771
15.5.1;13.5.1 Binärdateien;771
15.5.2;13.5.2 INI-Dateien;772
15.6;13.6 Die Registrierdatenbank;774
15.6.1;13.6.1 Einführung;774
15.6.2;13.6.2 API/VBA-Zugriff auf die Registrierungsdatenbank;775
15.6.3;13.6.3 API-Konstanten/Funktionen für den Registry-Zugriff;776
15.6.4;13.6.4 Prüfen, ob ein Schlüssel existiert;778
15.6.5;13.6.5 Einen vorhandenen Wert auslesen;778
15.6.6;13.6.6 Einen Schlüssel erstellen;779
15.6.7;13.6.7 Einen Wert setzen bzw. ändern;780
15.6.8;13.6.8 Einen Schlüssel löschen;780
15.6.9;13.6.9 Ein Feld löschen;780
15.6.10;13.6.10 Aufruf der Funktionen;781
15.7;13.7 Dateidialoge;783
15.7.1;13.7.1 Variante 1 (Office 16 Library);784
15.7.2;13.7.2 Variante 2 (Windows-API);786
15.7.3;13.7.3 Verzeichnisdialog (Windows-API);791
15.8;13.8 Übersichten;793
15.8.1;13.8.1 Dateifunktionen in Access;793
15.8.2;13.8.2 FSO-Eigenschaften und -Methoden;794
15.9;13.9 Praxisbeispiele;795
15.9.1;13.9.1 Auf eine Textdatei zugreifen;795
15.9.2;13.9.2 Dateien suchen;800
15.9.3;13.9.3 Die Shellfunktionen verwenden;802
15.9.4;13.9.4 Einen Verzeichnisbaum in eine TreeView einlesen;807
16;14 XML in Theorie und Praxis;808
16.1;14.1 XML – etwas Theorie;808
16.1.1;14.1.1 Allgemeines;808
16.1.2;14.1.2 Der XML-Grundaufbau;811
16.1.3;14.1.3 Wohlgeformte Dokumente;812
16.1.4;14.1.4 Processing Instructions (PI);814
16.1.5;14.1.5 Elemente und Attribute;815
16.1.6;14.1.6 Verwendbare Zeichensätze;816
16.2;14.2 XSD-Schemas;818
16.2.1;14.2.1 Das Grundprinzip;818
16.2.2;14.2.2 Ein XSD-Schema mit Microsoft Access erzeugen;820
16.3;14.3 XML-Verarbeitung mit dem DOM;824
16.3.1;14.3.1 Was ist das DOM?;824
16.3.2;14.3.2 Erste Schritte;825
16.3.3;14.3.3 Erzeugen von Instanzen;826
16.3.4;14.3.4 Laden von Dokumenten;827
16.3.5;14.3.5 XML-Fehlerprüfung/-Analyse;828
16.3.6;14.3.6 Erzeugen von XML-Dokumenten;830
16.3.7;14.3.7 Auslesen von XML-Dateien;832
16.3.8;14.3.8 Einfügen von Informationen;835
16.3.9;14.3.9 Attribute oder Element;838
16.3.10;14.3.10 Suchen in den Baumzweigen;841
16.3.11;14.3.11 Das Interpretieren von Leerzeichen;844
16.4;14.4 XML-Integration in Access;847
16.4.1;14.4.1 Importieren;847
16.4.2;14.4.2 Exportieren;850
16.4.3;14.4.3 XML-Transformation mit XSLT;854
16.4.4;14.4.4 Application-Objekt (ImportXML/ExportXML);857
16.4.5;14.4.5 ADO-Recordset;860
16.5;14.5 Vor- und Nachteile von XML;862
16.5.1;14.5.1 Grundsätzlicher Vergleich;863
16.5.2;14.5.2 Zeitvergleich ADO/XML;863
16.6;14.6 Praxisbeispiele;865
16.6.1;14.6.1 Speichern im UTF-8-/UTF-16-Format;865
16.6.2;14.6.2 UTF-8-/UTF-16 aus einem ADO-Stream laden;867
16.6.3;14.6.3 XML-Daten asynchron verarbeiten;869
16.6.4;14.6.4 XML-Daten in einer TreeView darstellen;871
16.6.5;14.6.5 Navigieren zwischen einzelnen XML-Baumknoten;874
16.6.6;14.6.6 ADO-XML-Streams nachbearbeiten;877
16.6.7;14.6.7 Textdaten in XML-Dokumente umwandeln;880
17;15 SQL im Einsatz;882
17.1;15.1 Einführung;882
17.1.1;15.1.1 SQL-Dialekte;883
17.1.2;15.1.2 Kategorien von SQL-Anweisungen;883
17.2;15.2 Etwas (Datenbank-)Theorie;885
17.2.1;15.2.1 Allgemeines/Begriffe;885
17.2.2;15.2.2 Normalisieren von Tabellen;890
17.2.3;15.2.3 Beziehungen zwischen den Tabellen;895
17.2.4;15.2.4 Verknüpfen von Tabellen;897
17.3;15.3 Testprogramm und Beispieldatenbank;901
17.3.1;15.3.1 Hinweise zur Bedienung;901
17.3.2;15.3.2 Die Beispieldatenbank im Überblick;901
17.3.3;15.3.3 ADO Query;902
17.3.4;15.3.4 Bemerkungen;903
17.4;15.4 Daten abfragen;904
17.4.1;15.4.1 Abfragen mit SELECT;905
17.4.2;15.4.2 Alle Spalten auswählen;905
17.4.3;15.4.3 Auswahl der Spalten;906
17.4.4;15.4.4 Filtern;907
17.4.5;15.4.5 Beschränken der Ergebnismenge;913
17.4.6;15.4.6 Eindeutige Records/doppelte Datensätze;914
17.4.7;15.4.7 Tabellen verknüpfen;915
17.4.8;15.4.8 Tabellen vereinigen;918
17.4.9;15.4.9 Datensätze sortieren;919
17.4.10;15.4.10 Datensätze gruppieren;919
17.4.11;15.4.11 Unterabfragen;921
17.4.12;15.4.12 Anlage-Felder mit SQL verwalten;925
17.4.13;15.4.13 History-Felder mit SQL abfragen;927
17.4.14;15.4.14 Mehrwertige Felder mit SQL abfragen;929
17.5;15.5 Daten manipulieren;930
17.5.1;15.5.1 Einfügen einzelner Datensätze;931
17.5.2;15.5.2 Einfügen von Abfragedaten;932
17.5.3;15.5.3 Exportieren/Importieren von Abfragedaten;934
17.5.4;15.5.4 Aktualisieren/Ändern;936
17.5.5;15.5.5 Löschen;937
17.6;15.6 Erweiterte SQL-Funktionen;938
17.6.1;15.6.1 Berechnete/Formatierte Spalten;939
17.6.2;15.6.2 Berechnungsfunktionen;945
17.6.3;15.6.3 NULL-Werte;946
17.6.4;15.6.4 Datum und Zeit in SQL-Abfragen;948
17.6.5;15.6.5 Datentypumwandlungen;953
17.6.6;15.6.6 Kreuztabellenabfragen;954
17.6.7;15.6.7 Steuerelemente in Abfragen verwenden;957
17.6.8;15.6.8 Globale Variablen in Abfragen verwenden;958
17.7;15.7 Datenbankverwaltung mit SQL (DDL);958
17.7.1;15.7.1 Datenbanken;959
17.7.2;15.7.2 Tabellen;959
17.7.3;15.7.3 Indizes;960
17.7.4;15.7.4 Tabellen/Indizes löschen oder verändern;963
17.7.5;15.7.5 Sichten (Views);963
17.7.6;15.7.6 Nutzer- und Rechteverwaltung;965
17.7.7;15.7.7 Transaktionen;965
17.8;15.8 SQL in der Access-Praxis;966
17.8.1;15.8.1 SQL in Abfragen;966
17.8.2;15.8.2 SQL im Basic-Code;967
17.8.3;15.8.3 SQL beim Oberflächenentwurf;969
17.8.4;15.8.4 VBA-Funktionen in SQL-Anweisungen;969
17.9;15.9 Tipps & Tricks;971
17.9.1;15.9.1 Wie kann ich die Anzahl der Datensätze ermitteln?;971
17.9.2;15.9.2 Wie nutze ich Datumsteile in SQL zur Suche?;972
17.9.3;15.9.3 Die Groß-/Kleinschreibung berücksichtigen;972
17.9.4;15.9.4 Warum erhalte ich zu viele Datensätze ?;973
17.9.5;15.9.5 Doppelte Datensätze aus einer Tabelle löschen;974
17.10;15.10 Praxisbeispiele;975
17.10.1;15.10.1 Ein komfortables SQL-Abfrageprogramm erstellen;975
17.10.2;15.10.2 Datum und Zeit in SQL einbauen;977
18;16 Anwendungsdesign;980
18.1;16.1 Access-Oberflächengestaltung;980
18.1.1;16.1.1 Beschriften der Kopfzeile;981
18.1.2;16.1.2 Informationen in der Statuszeile anzeigen;983
18.1.3;16.1.3 Fortschrittsanzeige mit dem Progressbar realisieren;984
18.1.4;16.1.4 Navigationsbereich konfigurieren;985
18.1.5;16.1.5 Access-Hauptfenster komplett ausblenden;991
18.2;16.2 Steuern der Anwendung;994
18.2.1;16.2.1 Autostart mit AutoExec-Makro;994
18.2.2;16.2.2 Formulare automatisch starten;996
18.2.3;16.2.3 Warten auf das Ende;996
18.2.4;16.2.4 Access per VBA beenden;997
18.2.5;16.2.5 Den Runtime-Modus aktivieren;997
18.2.6;16.2.6 Befehlszeilen-Optionen verwenden;998
18.3;16.3 Entwickeln von Assistenten und Add-Ins;1000
18.3.1;16.3.1 Assistenten-Typen;1000
18.3.2;16.3.2 Einbinden der Assistenten in die Access-IDE;1000
18.3.3;16.3.3 Menü-Assistent (Beispiel);1002
18.3.4;16.3.4 Objekt-Assistent (Beispiel);1004
18.3.5;16.3.5 Steuerelemente-Assistent (Beispiel);1008
18.3.6;16.3.6 Eigenschaften-Assistent;1011
18.4;16.4 Entwickeln/Einbinden von Managed Add-Ins;1012
18.4.1;16.4.1 Interaktion Anwendung/Add-In;1012
18.4.2;16.4.2 Entwurf des Add-Ins;1013
18.4.3;16.4.3 Oberfläche;1015
18.4.4;16.4.4 Der Quellcode des Add-Ins;1016
18.4.5;16.4.5 Formularentwurf für das Add-In;1018
18.4.6;16.4.6 Kompilieren und Einbinden;1018
18.4.7;16.4.7 Testen;1019
18.5;16.5 Libraries unter Access;1020
18.5.1;16.5.1 Erstellen und Einbinden;1020
18.5.2;16.5.2 Debugging;1021
18.5.3;16.5.3 Einfaches Beispiel;1022
18.5.4;16.5.4 Hinweise;1024
18.6;16.6 Praxisbeispiele;1025
18.6.1;16.6.1 Mehr über die aktuelle Access-Version erfahren;1025
18.6.2;16.6.2 Access neu starten/Datenbank neu laden;1026
18.6.3;16.6.3 Mit Reference-Objekten arbeiten;1027
18.6.4;16.6.4 Benutzerdefinierte Eigenschaften einsetzen;1031
18.6.5;16.6.5 Den aktuellen Datenbanknutzer ermitteln;1035
18.6.6;16.6.6 Überlappende Fenster einstellen;1035
18.6.7;16.6.7 Access-Optionen abrufen/setzen;1036
19;17 Menüband und Backstage;1038
19.1;17.1 Allgemeine Grundlagen;1038
19.1.1;17.1.1 Manuelle Konfigurationsmöglichkeiten;1039
19.1.2;17.1.2 Grundprinzip der Programmierung;1040
19.1.3;17.1.3 Verwenden der Tabelle USysRibbons;1042
19.1.4;17.1.4 Application.LoadCustomUI als Alternative;1043
19.2;17.2 Ein kleines Testprogramm;1043
19.3;17.3 Praktische Aufgabenstellungen;1045
19.3.1;17.3.1 Infos über Steuerelemente und Symbole erhalten;1045
19.3.2;17.3.2 Hauptregisterkarten ausblenden;1047
19.3.3;17.3.3 Einzelne Registerkarten ausblenden;1048
19.3.4;17.3.4 Einzelne Gruppen ausblenden;1049
19.3.5;17.3.5 Registerkarten, Gruppen und Schaltflächen einfügen;1050
19.3.6;17.3.6 Ereignisbehandlung mit VBA-Code/Makros;1052
19.3.7;17.3.7 Verändern von Eigenschaften mit VBA-Callbacks;1053
19.3.8;17.3.8 Aktualisieren des Menübands per VBA-Code;1053
19.3.9;17.3.9 Kontextabhängige Registerkarten;1054
19.3.10;17.3.10 Registerkarten per VBA aktivieren;1055
19.3.11;17.3.11 Fehlermeldungen des Menübands anzeigen;1056
19.3.12;17.3.12 Vorhandene Funktionen des Menübands ändern;1056
19.3.13;17.3.13 Die Schnellzugriffsleiste erweitern/programmieren;1057
19.4;17.4 Übersicht der Steuerelemente;1058
19.4.1;17.4.1 labelControl-Steuerelement;1058
19.4.2;17.4.2 Steuerelement;1058
19.4.3;17.4.3 Steuerelement;1062
19.4.4;17.4.4 toggleButton-Steuerelement;1063
19.4.5;17.4.5 buttonGroup-Steuerelement;1064
19.4.6;17.4.6 checkBox-Steuerelement;1065
19.4.7;17.4.7 editBox-Steuerelement;1066
19.4.8;17.4.8 Steuerelement;1067
19.4.9;17.4.9 dropDownElement-Steuerelement;1071
19.4.10;17.4.10 gallery-Steuerelement;1074
19.4.11;17.4.11 menu-Steuerelement;1076
19.4.12;17.4.12 splitButton-Steuerelement;1079
19.4.13;17.4.13 dialogBoxLauncher;1080
19.5;17.5 Die Backstage-Ansicht anpassen;1082
19.5.1;17.5.1 Die Standardansicht verändern;1083
19.5.2;17.5.2 Die drei möglichen Layouts für Registerkarten;1085
19.5.3;17.5.3 Die neuen Möglichkeiten von Gruppen;1092
19.5.4;17.5.4 Verwenden von LayoutContainern;1094
19.5.5;17.5.5 Das Verhalten der Schaltflächen beeinflussen;1095
19.5.6;17.5.6 Mit VBA/Makros auf Ereignisse reagieren;1096
19.6;17.6 Tipps & Tricks;1097
19.6.1;17.6.1 Die guten alten Access 2003-Menüs anzeigen;1097
19.6.2;17.6.2 Das Office-Menü für Access 2007 anpassen;1099
19.6.3;17.6.3 XML-Daten komfortabel editieren;1100
19.6.4;17.6.4 Arbeiten mit dem RibbonCreator;1101
19.7;17.7 Übersichten;1102
20;18 Programmschnittstellen;1104
20.1;18.1 Zwischenablage;1104
20.1.1;18.1.1 Kopieren/Einfügen mittels DoCmd-Objekt;1104
20.1.2;18.1.2 Ein Clipboard-Objekt programmieren;1105
20.2;18.2 API- und DLL-Einbindung;1108
20.2.1;18.2.1 Allgemeines;1108
20.2.2;18.2.2 Und was ist mit der 64-Bit Access Version?;1109
20.2.3;18.2.3 Woher bekomme ich Infos über die Win32-API?;1111
20.2.4;18.2.4 Einbinden der Deklaration;1112
20.2.5;18.2.5 Wert oder Zeiger?;1114
20.2.6;18.2.6 Übergabe von Strings;1115
20.2.7;18.2.7 Verwenden von As Any;1116
20.2.8;18.2.8 Übergabe von Arrays;1116
20.2.9;18.2.9 Besonderheiten mit Records;1117
20.2.10;18.2.10 Zuordnen der Datentypen;1119
20.3;18.3 OLE/ActiveX;1120
20.3.1;18.3.1 Überblick;1120
20.3.2;18.3.2 OLE;1121
20.3.3;18.3.3 Übersicht zum Objektfeld-Steuerelement;1122
20.3.4;18.3.4 Programmieren mit dem Objektfeld;1125
20.3.5;18.3.5 ActiveX-Code-Komponenten (OLE-Automation);1128
20.3.6;18.3.6 Programmieren mit ActiveX-Code-Komponenten;1129
20.4;18.4 DDE;1131
20.4.1;18.4.1 Funktionsprinzip;1131
20.4.2;18.4.2 Verwenden von Steuerelementen;1132
20.4.3;18.4.3 VBA-Programmierung;1133
20.5;18.5 Scanner-Unterstützung per WIA;1135
20.5.1;18.5.1 Was kann WIA?;1135
20.5.2;18.5.2 Installation/Vorbereitung;1135
20.5.3;18.5.3 Einstieg mit kleiner Beispielanwendung;1136
20.5.4;18.5.4 Reagieren auf das Verbinden/Trennen von Geräten;1137
20.5.5;18.5.5 Ermitteln der verfügbaren Geräte;1138
20.5.6;18.5.6 Anzeige der Geräteeigenschaften;1138
20.5.7;18.5.7 Ein Bild einlesen;1140
20.5.8;18.5.8 Bild(er) drucken (Assistent);1141
20.5.9;18.5.9 Den Scanner-Assistent aufrufen;1142
20.5.10;18.5.10 Grafikbearbeitung;1143
20.6;18.6 Zugriff auf Excel-Arbeitsmappen;1145
20.6.1;18.6.1 Zugriffsmöglichkeiten;1145
20.6.2;18.6.2 TransferSpreadsheet;1146
20.6.3;18.6.3 Import/Export per DAO;1150
20.6.4;18.6.4 Daten auslesen;1154
20.6.5;18.6.5 Zugriff auf Tabellenbereiche;1156
20.6.6;18.6.6 OLE-Automation;1157
20.7;18.7 Praxisbeispiele;1160
20.7.1;18.7.1 Eine externe Anwendung starten;1160
20.7.2;18.7.2 Informationen über das aktuelle System ermitteln;1162
20.7.3;18.7.3 Das aktuelle Betriebssystem ermitteln;1165
20.7.4;18.7.4 Den Windows-Lizenznehmer ermitteln;1168
20.7.5;18.7.5 Zeitmessungen in Access durchführen;1170
20.7.6;18.7.6 Microsoft Word über ActiveX steuern;1174
20.7.7;18.7.7 Microsoft Excel über ActiveX steuern;1178
21;Index;1180