lehrerbibliothek.deDatenschutzerklärung
Microsoft Access 2002 Programmierung
Microsoft Access 2002 Programmierung




Walter Doberenz, Thomas Kowalski

Microsoft Press
EAN: 9783860636541 (ISBN: 3-86063-654-5)
1104 Seiten, paperback, 19 x 24cm, Dezember, 2001, mit CD-ROM

EUR 49,90
alle Angaben ohne Gewähr

Umschlagtext
• Access-Programmierung komplett und praxisnah.

• Anwendungsbereite Lösungen für Ihre Projekte.



Access-Programmierung für die Praxis von Praktikern beschrieben! Dieses Buch bietet Ihnen eine fundierte Einführung in die Datenbankprogrammierung mit Access 2002 unter Verwendung von Visual Basic für Applikationen (VBA) und SQL, ausführliches Know-how über die Gestaltung der Benutzerschnittstelle sowie jede Menge universell einsetzbarer Routinen und die richtigen Lösungen für Ihre Probleme. Dabei werden die Neuerungen von Access 2002 ausführlich beschrieben, wie z.B. die verbesserte XML-Unterstützung, der Support erweiterter Eigenschaften des SQL-Servers und die Batchaktualisierung in Access-Projekten mit Hilfe des SQL-Servers. Die nötigen theoretischen Grundlagen werden Ihnen klar und verständlich vermittelt, ansonsten orientiert sich der Inhalt an praktischer Verwendbarkeit und Nutzen der besprochenen Beispiele und Konzepte. Mit diesem Ansatz stellt das Buch ohne unnötigen Ballast die Informationen zur Verfügung, die Sie brauchen, um schnell zu Ergebnissen zu kommen und spart Ihnen so eine Menge Zeit und Nerven bei der Entwicklung Ihrer Datenbanklösungen. Und auf den jedem Kapitel beigefügten Praxisteil mit anwendungsbereiten Beispielen sollte kein Entwickler verzichten!



Lesen Sie:

• Einführung in die Möglichkeiten von VBA und Access 2002

• Programmieren mit VBA

• Formulare und Steuerelemente

• Erweiterte Objektprogrammierung

• ActiveX-Komponenten und Office-Objekte

• Datenbankzugriff mit ADO und DAO

• Fortgeschrittene Datenbankprogrammierung (DAO, ADOX, ODBC)

• Microsoft SQL Server

• Programmschnittstellen (API-Zugriff, DDE, OLE, DLL)

• Access im Internet/Intranet

• Datenbankberichte

• XML in Theorie und Praxis

• Techniken der Programmentwicklung

• Komplexbeispiele



Auf der Begleit-CD:

• Beispielcode aus dem Buch

• Microsoft Internet Explorer 6.0



Die Autoren:

Walter Doberenz und Thomas Kowalski sind die Autoren mehrer erfolgreicher Bücher zur Programmierung mit Visual Basic. Bei Microsoft Press sind von Ihnen die Bücher Access 97-Programmierung mit Visual Basic 6 und Microsoft Access 2000 Programmierung erschienen.
Inhaltsverzeichnis
Vorwort XXI
Zum Buchinhalt XXI
Inhalt der Buch-CD-ROM XXII
Danksagung XXII

1 Einführung I
1.1 VBA-Programmierung unter Microsoft Access 2002 l
1.1.1 Was ist VBA? l
1.1.2 Objekt- und ereignisorientierte Programmierung 2
1.1.3 VBA- oder Makro-Programmierung? 3
1.1.4 Der Umstieg von Visual Basic 4
1.1.5 Wozu noch VBScript? 5
1.2 Die VBA-Entwicklungsumgebung 5
1.2.1 Formularentwurf 5
1.2.2 Code-Fenster und Symbolleiste 6
1.2.3 Das Eigenschaftenfenster 8
1.2.4 Der Projekt-Explorer 9
1.2.5 Das Code-Fenster 9
1.2.6 Arbeiten mit der Hilfe 12
1.3 Highlights und Features von Access 2002 13
1.3.1 Zur Geschichte der Vorgängerversionen 13
1.3.2 Was ist neu bei Access 2002? 14
1.3.3 Ein Wort zur Microsoft Office XP Developer Edition 16
1.4 Praxisbeispiele 18
1.4.1 Erstellen der Testdatenbank 18
1.4.2 Konventionelle Programmierung 19
1.4.3 Programmieren mit VBA 22
1.4.4 Automatische Makrokonvertierung 26
1.5 Übersichten und Ergänzungen 27
1.5.1 Deutsche und englische Bezeichner 27
1.5.2 DoCmd-Objekt 28

2 Programmieren mit VBA 31
2.1 Datentypen, Variablen und Konstanten 31
2.1.1 Übersicht 31
2.1.2 Variablendeklaration 32
2.1.3 Konstantendeklaration 37
2.1.2 Gültigkeitsbereiche 38
2.2 Einzelheiten zu den Datentypen 41
2.2.1 Single- und Double-Datentypen 41
2.2.2 Integer-, Long- und Boolean-Datentypen 41
2.2.3 Date-Datentyp 41
2.2.4 Currency-Datentyp 44
2.2.5 Variant-Datentyp 44
2.3 Datenfelder (Arrays) 47
2.3.1 Statische Arrays 47
2.3.2 Dynamische Arrays 48
2.4 Benutzerdefinierte Datentypen 50
2.4.1 Type-Anweisung 50
2.4.2 With-Anweisung 51
2.4.3 Strings innerhalb Type 52
2.4.4 Enumerations 52
2.4.5 Arrays in benutzerdefinierten Typen 53
2.5 Operatoren 54
2.5.1 Arithmetische Operatoren 55
2.5.2 Logische Operatoren 56
2.5.3 Vergleichsoperatoren 58
2.6 Kontrollstrukturen 59
2.6.1 Bedingte Verzweigungen 59
2.6.2 Schleifenanweisungen 60
2.6.3 GoTo und GoSub 62
2.7 Zeichenkettenfunktionen 63
2.7.1 Stringverarbeitung 63
2.7.2 Stringaddition 65
2.7.3 Format-Funktion 65
2.8 Vordefinierte Funktionen 67
2.8.1 Mathematische Funktionen 68
2.8.2 Finanzmathematische Funktionen 71
2.8.3 Datums-XZeitfunktionen 72
2.9 Benutzerdefinierte Funktionen/Prozeduren 75
2.9.1 Funktion 75
2.9.2 Prozedur 75
2.9.3 Parameterübergabe ByRef oder ByVal 76
2.9.3 Optionale Argumente 77
2.9.4 Benannte Argumente 78
2.9.5 Parameter-Arrays 78
2.9.6 Dynamische Arrays als Argumente 78
2.9.7 Rückgabe von Arrays 79
2.9.8 Private-, Public- und Static-Deklarationen 79
2.10 Praxisbeispiele 80
2.10.1 Datentyp einer Variablen bestimmen 80
2.10.2 Nach Text suchen 81
2.10.3 Zeitangaben runden 83
2.10.4 Das Wochenende feststellen 84
2.10.5 Reisekostenabrechnung 85
2.10.6 Mathematische Gleichungssysteme lösen 88
2.11 Übersichten und Ergänzungen 91
2.11.1 Datumskonstanten 91
2.11.2 Rückgabewerte der VarType-Funktion 91

3 Formulare und Steuerelemente 93
3.1 Übersicht 93
3.1.1 Gruppen von Eigenschaften 94
3.1.2 Methoden 94
3.1.3 Gruppen von Ereignissen 94
3.2 Das Form-Objekt 95
3.2.1 Format-Eigenschaften 95
3.2.2 Daten-Eigenschaften 101
3.2.3 Weitere Eigenschaften 102
3.2.4 Fenster- und Fokus-Ereignisse 103
3.2.5 Tastatur- und Maus-Ereignisse 105
3.2.6 Daten- und Filter-Ereignisse 108
3.2.7 Weitere Ereignisse 109
3.2.8 Methoden 110
3.2.9 Unterformulare 112
3.3 Steuerelemente (Controls) 113
3.3.1 Übersicht 113
3.3.2 Allgemeine Eigenschaften auf einen Blick 114
3.3.3 Allgemeine Ereignisse auf einen Blick 125
3.3.4 Methoden von Steuerelementen 127
3.3.5 Das Screen-Objekt 128
3.4 Praxisbeispiele 129
3.4.1 Das Formular entfernt sich selbst 129
3.4.2 Programmieren des Textfeldes 130
3.4.3 Ein- und Ausgabe in ungebundene Textfelder 132
3.4.4 Füllen eines ungebundenen Kombinationsfeldes 134
3.4.5 Arbeiten mit ungebundenen Listenfeldern 136
3.4.6 Daten mit Kombinations- bzw. Listenfeld verknüpfen 141
3.4.7 Daten farblich hervorheben 144
3.4.8 Steuerelemente verschieben und anordnen 145
3.4.9 Automatisches Erstellen eines Steuerelemente-Arrays 146
3.4.10 Tastaturbefehle senden 149
3.4.11 Ein Unterformular programmieren 151
3.4.12 Das Register-Steuerelement kennen lernen 153
3.5 Übersichten 158
3.5.1 ANSI-/ASCII-Code 158
3.5.2 Tastencode der SendKeys-Funktion 160

4 Erweiterte Objektprogrammierung 161
4.1 Objektvariablen 161
4.1.1 Objekttypen und Set-Anweisung 161
4.1.2 Object-Datentyp 163
4.1.3 Form- und Report-Objekt 163
4.1.4 Control-Objekt 165
4.2 Formular- und Berichtsmodule 168
4.2.1 Instanzen von Formularen und Berichten 168
4.2.2 Benutzerdefinierte Form-/Report-Objekte 170
4.2.3 Eigenständige Klassenmodule 171
4.3 Auflistungen 174
4.3.1 Forms/Reports 174
4.3.2 Controls 176
4.3.3 Collection-Objekt 177
4.3.4 Dictionary-Objekt 179
4.3.5 Property und Properties 180
4.3.6 Module-Objekt und Modules-Auflistung 180
4.3.7 Reference-Objekt und References-Auflistung 182
4.4 Noch mehr über Access-Objekte 184
4.4.1 Objekthierarchie 184
4.4.2 Zugriff auf das Application-Objekt 186
4.4.3 Der Objektkatalog 190
4.4.4 Übersicht über weitere Objekte 191
4.4.5 AccessObject 193
4.4.6 CurrentProject 194
4.4.7 CurrentData 195
4.5 Praxisbeispiele 196
4.5.1 Standard- und Nicht-Standardinstanzen eines Formulars 196
4.5.2 Eine Formular-Klasse erhält neue Eigenschaften 198
4.5.3 Mit Form-Klassenmodulen experimentieren 200
4.5.4 Mit einer eigenständigen Klasse experimentieren 202
4.5.5 Experimentieren mit Objekten und Auflistungen 205
4.5.6 Untersuchung von Properties-Auflistungen 209
4.5.7 Arbeiten mit Reference-Objekten 211
4.6 Übersichten 216
4.6.1 Konstanten der ControlType-Eigenschaft 216
4.6.2 Rückgabewerte der CurrentObjectType-Funktion 216
4.6.3 Übergabestrings der SetOption/GetOption-Methode 217

5 ActiveX-Komponenten und Office-Objekte 219
5.1 ActiveX-Steuerelemente 219
5.1.1 Marsch in die Toolbox! 220
5.1.2 Registrieren 221
5.1.3 Eigenschaftendialog 222
5.1.4 Vergleich mit den integrierten Steuerelementen 224
5.1.5 Beispiel: Statusleiste 225
5.2 Entwurf von Befehlsleisten 228
5.2.1 Das Office-Objektmodell 228
5.2.2 CommandBars-Auflistung 231
5.2.3 CommandBar-Objekt 232
5.2.4 CommandBarControls-Auflistung 233
5.2.5 CommandBarControl-Objekt 234
5.2.6 CommandBarPopUp-Objekt 236
5.2.7 CommandBarButton-Objekt 236
5.2.8 CommandBarCombobox-Objekt 238
5.2.9 Globale Menüleisten 239
5.3 Praxisbeispiele 240
5.3.1 Das Kalender-Steuerelement verwenden 240
5.3.2 Eine Statusleiste programmieren 242
5.3.3 Das ImageList- und das ListView-Control kennen lernen 244
5.3.4 Eine Werkzeugleiste programmieren 246
5.3.5 Das RTF-Control verwenden 250
5.3.6 Das TreeView-Control einsetzen 254
5.3.7 Das ListView-Control programmieren 258
5.3.8 Ein benutzerdefiniertes Menü erstellen 261
5.3.9 Eine Symbolleiste programmieren 265
5.3.10 Grafiken in Menüs einbinden 268
5.4 Übersichten 271
5.4.1 Der Kalender MSCAL.OCX 271

6 Datenbankzugriff mit ADO 273
6.1 Ein erster Blick auf ADO 2.x 273
6.1.1 Kleines Beispiel als Vorspeise 274
6.1.2 Zur Geschichte von ADO 275
6.1.3 Hinweise zu den ADO-Bibliotheken 275
6.1.4 ADO und OLE DB 276
6.1.5 ADO-Objektmodell 277
6.2 ADO-Grundoperationen 279
6.2.1 Beziehungen zwischen den Objekten 279
6.2.2 Die Verbindung zur Datenquelle 279
6.2.3 Aktionsabfragen mit dem Command-Objekt 283
6.2.4 Recordsets mit Daten füllen 286
6.3 Weitere Operationen mit Recordsets 290
6.3.1 Welche Recordset-Features werden unterstützt? 290
6.3.2 Editieren von Datensätzen 291
6.3.3 Hinzufügen von Datensätzen 291
6.3.4 Löschen von Datensätzen 292
6.3.5 Recordsets filtern 293
6.3.6 Ungebundene Recordsets erzeugen 294
6.3.7 Recordsets abspeichern 295
6.3.8 Bewegen in Recordsets 295
6.3.9 Daten direkt einlösen 296
6.3.10 Sortieren 297
6.3.11 Suchen 297
6.3.12 Ereignisse auswerten 298
6.4 Zugriff auf ADO-Auflistungen 300
6.4.1 Allgemeine Features 300
6.4.2 Property und Properties 301
6.4.3 Field und Fields 302
6.4.4 Parameter und Parameters 303
6.4.5 Error und Errors 303
6.5 Praxisbeispiele 304
6.5.1 ADO-ZugriffaufJet-Datenbank 304
6.5.2 Datensätze mittels SQL filtern 307
6.5.3 Das ADO-DataGrid einsetzen 309
6.5.4 Ungebundene ADO-Recordsets erzeugen 311
6.5.5 Ein ADO-Datenklassenmodul verwenden 313
6.5.6 Einbinden von ADO-Fremdbibliotheken 317
6.5.7 Eine intelligente Eingabemaske programmieren 321
6.6 Übersichten 327
6.6.1 Connection-Objekt 327
6.6.2 Command-Objekt 328
6.6.3 Recordset-Objekt 328

7 Datenbankzugriff mit DAO 331
7.1 Übersicht 331
7.1.1 DBEngine-Objekt 333
7.1.2 Workspace-Objekt 333
7.1.3 Database-Objekt 334
7.1.4 Recordset-Objekt 334
7.1.5 Verwendung der Datenbankobjekte 334
7.2 Grundlagen 335
7.2.1 Arbeitsumgebung festlegen 335
7.2.2 Datenbank anlegen und öffnen 336
7.2.3 Tabellen/Indizes anlegen 340
7.2.4 Tabellen einbinden 345
7.2.5 Tabellen verknüpfen (Relationen) 346
7.2.6 Abfragen erstellen/ausführen 347
7.2.7 Öffnen von Tabellen/Abfragen 349
7.2.8 Eigenschaften und Methoden von Recordsets 352
7.2.9 Datensätze anzeigen 355
7.2.10 Datensätze hinzufügen/ändern 358
7.2.11 Datensätze löschen 360
7.2.12 Datensätze sortieren 361
7.2.13 Datensätze suchen 362
7.2.14 Datensätze filtern 364
7.2.15 DAOs in gebundenen Formularen 365
7.3 Weitere Funktionen 368
7.3.1 Eigenschaften (Properties) 368
7.3.2 Transaktionen 369
7.4 Praxisbeispiele 371
7.4.1 Eine Tabelle anlegen 371
7.4.2 Mit Datenzugriffsobjekten arbeiten 373
7.4.3 Ein Recordset klonen und damit arbeiten 377
7.4.4 Den Satzzeiger bewegen 381
7.4.5 In einer Tabelle suchen und ersetzen 385
7.4.6 Mit Recordset-Objekten suchen 386
7.4.7 Einen zufälligen Datensatz auswählen 389
7.4.8 Datensätze zwischen Formularen synchronisieren? 390
7.4.9 Unterformulare programmieren 394
7.4.10 Indirekte Werte in eine Tabelle eingeben 396
7.4.11 Die Eingabe falscher Daten verhindern 398
7.4.12 Starteigenschaften einstellen 399
7.4.13 Datenbanken analysieren 402

8 SQL 407
8.1 Etwas (Datenbank-)Theorie 408
8.1.1 Allgemeines/Begriffe 408
8.1.2 Beziehungen zwischen den Tabellen 414
8.1.3 Verknüpfen von Tabellen 416
8.2 Die Beispieldatenbank im Überblick 420
8.3 Datendefinition (DDL) 421
8.3.1 Tabellen/Indizes erstellen 421
8.3.2 Tabellen/Indizes löschen oder verändern 424
8.3.3 Erstellen von gespeicherten Prozeduren/Views 425
8.4 Daten abfragen (DQL) 426
8.4.1 Abfragen mit SELECT 426
8.4.2 Die WHERE-Klausel 428
8.4.3 Sortieren mit ORDER BY 435
8.4.4 Gruppieren mit GROUP BY 436
8.4.5 Union 437
8.4.6 Unterabfragen 437
8.4.7 Berechnungen (Aggregatfunktionen) 440
8.4.8 Formatieren von Abfrageergebnissen 441
8.5 Datenmanipulation (DML) 443
8.5.1 Datenmanipulation mit UPDATE 443
8.5.2 INSERTINTO oder SELECT INTO? 443
8.5.3 Löschen mit DELETE 444
8.6 Noch mehr über SQL 445
8.6.1 Basic-Funktionen in SQL-Anweisungen 445
8.6.2 Kreuztabellenabfragen 447
8.6.3 Hierarchische Datenbeziehungen mit SQL darstellen 449
8.6.4 User- und Rechteverwaltung 452
8.6.5 Transaktionen 454
8.7 SQL in der Access-Praxis 455
8.7.1 SQL in Abfragen 455
8.7.2 SQL im Basic-Code 455
8.7.3 SQL beim Oberflächenentwurf 457
8.8 Praxisbeispiele 458
8.8.1 Datums- und Zeitangaben in SQL-Strings einbauen 458
8.8.2 Berechnungen in SQL-An Weisungen durchführen 460
8.8.3 Ein SQL-Abfrageprogramm 461
8.9 Übersichten 463
8.9.1 Die wichtigsten SQL-Befehle auf einen Blick 463
8.9.2 Unterschiede zwischen ANSI-SQL und Access-SQL 464

9 Fortgeschrittene Datenbankprogrammierung 465
9.1 Datenbankverwaltung mit ADOX 465
9.1.1 Datenbanken erstellen 467
9.1.2 Tabellen/Indizes erstellen/verwalten 468
9.1.3 Erstellen von Prozeduren und Sichten 474
9.1.4 Tabellen verknüpfen (Relationen) 475
9.2 Zugriffsschutz in Access-Datenbanken 476
9.2.1 Grundlagen 477
9.2.2 Sichern auf Datenbankebene 478
9.2.3 Erstellen neuer Benutzer und Gruppen (DAO) 479
9.2.4 Vergabe von Rechten (DAO) 481
9.2.5 Erstellen neuer Benutzer und Gruppen (ADOX) 483
9.2.6 Vergabe von Rechten (ADOX) 484
9.2.7 Verschlüsseln von Datenbanken 487
9.3 Multiuserzugriff 489
9.3.1 Verwendung der DAO 490
9.3.2 Verwendung der ADO 493
9.4 ODBC-Verbindungen 493
9.4.1 Der ODBC-Manager 493
9.4.2 Erstellen einer ODBC-Verbindung (DAO) 495
9.4.3 Öffnen einer ODBC-Verbindung (DAO) 496
9.4.4 Öffnen einer ODBC-Verbindung (ADO) 497
9.4.5 Konfigurieren von ODBC-Verbindungen 497
9.5 ODBCDirect 498
9.5.1 Übersicht 499
9.5.2 Erstellen einer Verbindung 499
9.5.3 Arbeiten mit den Daten 501
9.5.4 Batch-Operationen 505
9.6 Zugriff auf Fremdformate 507
9.6.1 dBASE IH/IV- und FoxPro-Datenbanken 508
9.6.2 Paradox-Datenbanken 511
9.6.3 ODBC-Daten 512
9.6.4 Textdateien 513
9.7 Einbinden externer Tabellen 514
9.7.1 Verwendung der DAO 515
9.7.2 Verwendung der ADOX 516
9.8 Exportieren von Daten 518
9.8.1 TransferDatabase-Methode 518
9.8.2 Exportieren mit SQL-Anweisungen 519
9.9 Replizieren von Datenbanken 520
9.9.1 Replikation mit Hilfe der DAO 521
9.9.2 Replikation mit Hilfe der JRO 524
9.10 Optimierung 526
9.10.1 Indizes 526
9.10.2 Abfrage-Optimierung 527
9.10.3 Weitere Möglichkeiten 527
9.10.4 ADO/DAO/ODBCDirect/ODBC - Was ist schneller? 528
9.11 Praxisbeispiele 530
9.11.1 User- und Rechteverwaltung mit DAO 530
9.11.2 Userverwaltung mit ADOX 535
9.11.3 Datenbanken reparieren/komprimieren 537
9.11.4 Datenbank-Backup 540

10 Microsoft SQL Server 549
10.1 Allgemeines 549
10.1.1 Was ist die SQL Server Desktop Engine? 550
10.1.2 Unterschiede der SQL Server-Versionen 550
10.1.3 Unterschiede Client-und Fileserver-Programmierung 552
10.1.4 Installation der SQL Server Desktop Engine 555
10.1.5 Access 2002 und die Desktop Engine 556
10.1.6 Upgrading von Access zum SQL Server 558
10.1.7 Datenbanken verwalten mit DMO 560
10.1.8 Die Sprache des SQL Servers: Transact-SQL 562
10.2 Praktisches Arbeiten 567
10.2.1 Erstellen von SQL Server-Datenbanken 568
10.2.2 Erzeugen und Verwalten von Tabellen 571
10.2.3 Erzeugen und Verwenden von Sichten (Views) 578
10.2.4 Verwendung von gespeicherten Prozeduren 580
10.2.5 Programmierung von Triggern 584
10.2.6 Erzeugen von Datenbankdiagrammen 588
10.2.7 Volltextabfragen 589
10.2.8 Fehlerbehandlung 594
10.3 Datensicherheit 598
10.3.1 Überblick 598
10.3.2 Verwalten mit Access 601
10.3.3 Verwalten mit SQLDMO 604
10.3.4 Verwalten mit TSQL 608
10.4 Programmbeispiele 611
10.4.1 Access-Projekt mit SQL Server 611
10.5 Übersichten 617
10.5.1 Datentypen des SQL Servers 617
10.5.2 Wichtige TSQL-Funktionen 618

11 Programmschnittstellen 621
11.1 API-/DLL-Einbindung 621
11.1.1 Deklaration 623
11.1.2 Wert oder Zeiger? 624
11.1.3 Übergabe von Strings 625
11.1.4 As Any 626
11.1.5 Arrays 626
11.1.6 Records 627
11.1.7 Zuordnen der Datentypen 628
11.2 OLE/ActiveX 630
11.2.1 Überblick 630
11.2.2 OLE 631
11.2.3 Übersicht zum Objektfeld-Steuerelement 632
11.2.4 Programmieren mit dem Objektfeld 635
11.2.5 ActiveX-Code-Komponenten (OLE-Automation) 637
11.2.6 Programmieren mit ActiveX-Code-Komponenten 639
11.3 DDE 641
11.3.1 Ein Überblick 641
11.3.2 Verbindungsaufbau 642
11.4 Zwischenablage 643
11.4.1 Kopieren/Einfügen mit dem DoCmd-Objekt 643
11.4.2 Ein Clipboard-Objekt 644
11.5 Praxisbeispiele 647
11.5.1 Ein anderes Programm starten 647
11.5.2 Die Systemkonfiguration ermitteln 649
11.5.3 Das aktuelle Betriebssystem ermitteln 652
11.5.4 Den Windows-Lizenznehmer ermitteln 654
11.5.5 Genaue Zeitmessungen durchführen 656
11.5.6 Testen, ob eine Soundkarte vorhanden ist 660
11.5.7 Soundausgabe realisieren 660
11.5.8 Sound-Dateien aufnehmen 662
11.5.9 Word über ActiveX steuern 664
11.5.10 Excel über ActiveX steuern 667

12 Dateien 669
12.1 ANSI/ASCII/Unicode 669
12.2 Gemeinsamer Dateizugriff 670
12.3 Arbeiten mit File System Objects 670
12.3.1 Allgemeines 671
12.3.2 Zugriff auf das Dateisystem 671
12.3.3 Weitere FSO-Methoden 677
12.4 Text-Dateien 677
12.4.1 Öffnen 678
12.4.2 Lesen 679
12.4.3 Schreiben 679
12.4.4 Zugriff auf Textdateien mit den File System Objects 680
12.5 Typisierte Dateien 683
12.5.1 Öffnen 683
12.5.2 Lesen/Schreiben 683
12.6 Binärdateien 685
12.7 INI-Dateien 685
12.8 Registrierdatenbank 687
12.9 Dateidialoge 689
12.9.1 Variante l (Office 10 Library) 689
12.9.2 Variante 2 (Common Dialog Control) 693
12.10 Praxisbeispiele 695
12.10.1 Laufwerkstyp feststellen 695
12.10.2 Prüfen, ob eine Datei existiert 696
12.10.3 Freien Festplattenspeicher ermitteln 697
12.10.4 Ein Unterverzeichnis anlegen 699
12.10.5 Dateidialoge einbinden 699
12.10.6 Shellfunktionennutzen 704
12.10.7 Prüfen, ob eine Diskette leer ist 707
12.10.8 Eine Diskette kopieren 708
12.10.9 Eine Diskette formatieren 709
12.10.10 Die Seriennummer der Festplatte ermitteln 710
12.10.11 Das Volume-Label lesen/schreiben 710
12.10.12 Den UNC-Namen eines Netzlaufwerks ermitteln 711
12.10.13 Dateien rekursiv suchen 712
12.10.14 Mehrere Dateien mit dem Dateidialog auswählen 714
12.10.15 Einen Verzeichnisdialog aufrufen 716
12.10.16 Die Anzeige langer Verzeichnispfade verkürzen 718
12.10.17 Datenbankverzeichnis bestimmen 719
12.10.18 Name, Pfad und Extension einer Datei ermitteln 720
12.10.19 Mit der Registrierungsdatenbank arbeiten 721
12.11 Übersichten 729
12.11.1 Dateifunktionen in Access 729

13 Access im Internet/Intranet 731
13.1 Übersicht 732
13.1.1 Internet/Intranet 732
13.1.2 TCP/IPundUDP 733
13.1.3 URL, HTTP und HTML 734
13.2 Hyperlinks 735
13.2.1 Hyperlinks in Tabellen 736
13.2.2 Hyperlinks verwenden 738
13.3 Exportieren von Daten im HTML-Format 739
13.3.1 Automatisches Generieren von HTML-Seiten 739
13.3.2 Exportieren mit Hilfe von SQL-Anweisungen 740
13.3.3 HTML-Export über Textdateien 740
13.4 Statische HTML-Seiten 742
13.5 Dynamische HTML-Seiten (IDC/HTX) 744
13.5.1 Wie läuft eine Datenbankabfrage ab? 745
13.5.2 Aufbau der IDC-Datei 746
13.5.3 Aufbau der HTX-Datei 746
13.6 Dynamische HTML-Seiten mit Parametern 748
13.6.l Wie sieht der dazugehörige HTML-Text aus? 749
13.6.2 Verwendung von Parametern in der IDC-Datei 749
13.6.3 Eingabe mehrerer Parameter 750
13.6.4 Auswahl in einem Listenfeld 751
13.7 Active Server Pages (ASP) 752
13.7.1 Wie funktioniert ASP? 752
13.7.2 Schnelleinstieg in VBScript/ASP 753
13.7.3 Einfaches Auswerten eines Eingabeformulars 757
13.7.4 Anzeige von Tabellendaten 759
13.7.5 Realisierung von Abfragen 761
13.7.6 Speichern von Daten auf dem Server 762
13.7.7 Access und ASP 763
13.8 Datenzugriffsseiten 765
13.8.1 Was sind Datenzugriffsseiten genau? 765
13.8.2 Der Editor 766
13.8.3 Datensatznavigator 770
13.8.4 Einfache Eingabemaske 770
13.8.5 Tabellendarstellung 771
13.8.6 Gruppieren von Daten 771
13.8.7 Filtern von Daten 772
13.8.8 Ändern der Datenquelle 774
13.8.9 Programmieren von Ereignissen 775
13.9 Darstellen von HTML-Seiten 779
13.9.1 Übersicht 779
13.9.2 Einbinden in Access 780
13.9.3 Einsatz des InternetExplorer-Objekts 781
13.9.4 Vertrieb von Internet-Applikationen 783
13.10 Weitere Internet-Controls 783
13.10.1 Das Internet-Steuerelement 783
13.10.2 Das WinSock-Steuerelement 784
13.11 Zusammenarbeit mit E-Mail-Programmen 784
13.11.1 Mailversand über das DoCmd-Objekt 785
13.11.2 Mailversand über OLE-Automation 786
13.11.3 Mailversand über die MAPI 787
13.12 Praxisbeispiele 788
13.12.1 Programmieren eines Web-Servers 788
13.12.2 Programmieren eines HTTP-Clients 791
13.12.3 Programmieren eines FTP-Client 792
13.12.4 Programmieren eines UDP-Chat-Programms 798
13.12.5 TCP-Client-Server 800
13.12.6 Programmieren von Datenzugriffsseiten 802

14 Datenbankberichte 811
14.1 Berichtseigenschaften 811
14.1.1 Formateigenschaften 811
14.1.2 Dateneigenschaften 812
14.1.3 Grafikeigenschaften 813
14.1.4 Linien- und Stifteigenschaften 816
14.1.5 Schrifteigenschaften 817
14.1.6 Färb- und Mustereigenschaften 817
14.1.7 Sonstige Eigenschaften 819
14.2 Berichtsereignisse 821
14.2.1 Open, Close, Activate, Deactivate, Error 821
14.2.2 Page, NoData, Print, Format 821
14.2.3 Bemerkungen 822
14.3 Berichtsmethoden 822
14.3.1 Scale 823
14.3.2 Line 823
14.3.3 PSet 824
14.3.4 Circle 825
14.3.5 Bemerkungen 825
14.3.6 Print 826
14.3.7 TextWidth und TextHeight 827
14.4 Das Printer-Objekt 827
14.4.1 Wo finde ich das Printer-Objekt? 828
14.4.2 Die Printers-Collection 828
14.4.3 Auswahl eines Druckers 829
14.4.4 Speichern von Berichts-Optionen 830
14.4.5 Eigenschaften des Printers 832
14.5 Direkte Druckausgabe 833
14.6 Praxisbeispiele 834
14.6.1 Einen Bericht aufrufen 834
14.6.2 Einzelne Seitenzahlen unterdrücken oder verändern 838
14.6.3 In einem Bericht rechnen und gruppieren 839
14.6.4 Zwischensummen und Überträge berechnen 843
14.6.5 Einzelne Zeilen farbig hinterlegen 846
14.6.6 Grafiksymbole einblenden 848
14.6.7 Linke und rechte Seiten verwenden 849
14.6.8 Finanzmathematische Funktionen grafisch auswerten 850
14.6.9 Abschlussbericht unter Verwendung von DAOs 852
14.6.10 ADO-Einsatz in Reports 856
14.6.11 Berichte mit Grafikmethoden ausschmücken 857
14.7 Übersichten 859
14.7.1 DrawMode-Eigenschaft 859
14.7.2 Farbkonstanten 860

15 XML in Theorie und Praxis 861
15.1 Überblick 861
15.1.1 Der Aufbau von XML-Dokumenten 864
15.1.2 Regeln für wohlgeformte Dokumente 865
15.1.3 Processing Instructions (PI) 867
15.1.4 Elemente und Attribute 868
15.2 Die DTD im Detail 869
15.2.1 Interne und Externe DTD 869
15.2.2 Grundaufbau 869
15.2.3 1ELEMENT 870
15.2.4 1ATTLIST 875
15.2.5 1ENTITY 879
15.3 XML-Verarbeitung mit dem DOM 881
15.3.1 Übersicht 881
15.3.2 Erste Schritte 883
15.3.3 XML-Fehlerprüfung/-Analyse 885
15.3.4 Erzeugen von XML-Dokumenten 887
15.3.5 Auslesen von XML-Dateien 889
15.3.6 Einfügen von Informationen 892
15.3.7 Suchen in den Baumzeigen 895
15.3.8 Die Interpretation von Leerzeichen 898
15.4 XML-Integration in Access 901
15.4.1 Importieren 901
15.4.2 Exportieren 904
15.4.3 Application-Objekt 906
15.4.4 ADO-Recordset 908
15.5 Die Vor- und Nachteile von XML 911
15.5.1 Zeitvergleich ADO/XML 912
15.6 Praxisbeispiele 914
15.6.1 ADO-Recordsets und XML 914
15.6.2 XML-Daten asynchron verarbeiten 916
15.6.3 XML-Daten in einer Treeview darstellen 918
15.6.4 Navigation zwischen den einzelnen Baumknoten 921
15.6.5 XML-Unterstützung für Datenzugriffsseiten 925

16 Techniken der Programmentwicklung 927
16.1 Fehlersuche 928
16.1.1 Direktfenster 928
16.1.2 Lokal-Fenster 929
16.1.3 Überwachungsfenster 930
16.1.4 Noch mehr Debugging 931
16.2 Fehlerbehandlung 935
16.2.1 Anweisungen zum Error-Handling 935
16.2.2 Beispiele zum Error-Handling 936
16.2.3 Fehlerbehandlungsroutinen automatisch generieren 938
16.3 Dialogfelder 941
16.3.1 Einfache MsgBox- Anweisung 941
16.3.2 Ausführliche MsgBox-Anweisung 942
16.3.3 MsgBox-Funktion 942
16.3.4 InputBox-Funktion 944
16.4 Libraries unter Access 945
16.4.1 Erstellen und Einbinden 945
16.4.2 Debugging 945
16.4.3 Hinweise 946
16.5 Entwickeln von Assistenten und Add-ins 947
16.5.1 Typen von Assistenten 947
16.5.2 Einbinden der Assistenten 947
16.5.3 Menü-Assistenten 949
16.5.4 Objekt-Assistenten 950
16.5.5 Steuerelemente-Assistenten 952
16.6 DLL-Programmierung mit C++ 956
16.6.1 Entwicklungsumgebung 956
16.6.2 Grundlagen 957
16.6.3 Ein- und Austrittsprozedur 958
16.6.4 Aufrufkonventionen 959
16.6.5 Funktionsparameter und Variablentypen 959
16.6.6 Beispiel einer Sortierroutine 962
16.6.7 Tipps und Tricks 963
16.7 ActiveX-Controls mit VB programmieren 964
16.7.1 Anforderungen 965
16.7.2 Entwurf der Oberfläche 965
16.7.3 Eigenschaften 967
16.7.4 Ereignisse 968
16.7.5 Methoden 969
16.7.6 Hinzufügen der Datenbankfunktionen 969
16.7.7 Abspeichern des Projekts 972
16.7.8 ActiveX-Control testen 973
16.7.9 Einbinden ins Access-Programm 976
16.8 Programmieren von ActiveX-DLLs mit VB 979
16.8.1 Vorbereitungen 980
16.8.2 Quellcode 980
16.8.3 Klasse testen 981
16.8.4 Einbinden in Access 982
16.8.5 Softwarepflege 983
16.9 Entwickeln von HTML-Hilfedateien 985
16.9.1 Der HTML Help Workshop 986
16.9.2 Unterschiede WinHelp - HTMLHelp 986
16.9.3 Kurzbedienung am Beispiel 986
16.9.4 Aufruf der HTML-Hilfe unter Access 989
16.10 Verteilen von Access-Anwendungen 990
16.10.1 Vorbereitungen 990
16.10.2 Erstellen der Installationsdateien 990
16.10.3 Installieren auf dem Zielrechner 993
16.11 Praxisbeispiele 993
16.11.1 Üben mit dem Debugger 993
16.11.2 Laufschrift als ActiveX-Komponente 1000

17 Komplexbeispiele 1005
17.1 Kreuzworträtsel-Assistent 1005
17.1.1 Datenbank 1006
17.1.2 Oberfläche 1006
17.1.3 Quelltext 1007
17.1.4 Test 1010
17.1.5 Bemerkungen 1010
17.2 Komplexbeispiel (DAO) 1010
17.2.1 Eingabemaske 1010
17.2.2 Anforderungen 1011
17.2.3 Programmierung 1011
17.2.4 Sonstige Programmierung 1019
17.2.5 Test und Bemerkungen 1020
17.3 Intranet-Info-Service 1021
17.3.1 Aufgabenstellung 1021
17.3.2 Datenbankentwurf 1022
17.3.3 Oberflächenentwurf (Adressverwaltung) 1024
17.3.4 Programmierung (Adressverwaltung) 1026
17.3.5 Oberflächenentwurf (Web-Katalog) 1027
17.3.6 Programmierung (Web-Katalog) 1029
17.3.7 Einbindung in das lokale Web 1031
17.3.8 Bemerkungen 1033
17.4 HTML-NEWS-Generator 1034
17.4.1 Datenbankstruktur 1034
17.4.2 Oberfläche 1036
17.4.3 Programmierung 1038
17.4.4 Test 1048
17.5 Verwaltung von Tankquittungen 1049
17.5.1 Datenbasis 1050
17.5.2 Modul TankConnection 1050
17.5.3 Formular Tankstellen 1050
17.5.4 Formular Tankquittungen 1053
17.5.5 Test 1056
17.5.6 Bemerkungen 1057

Stichwortverzeichnis 1059