2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Irene Bauder Jürgen Bär Access 2000 Programmierung Carl Hanser Verlag München Wien
Inhaltsverzeichnis Inhaltsverzeichnis 1 Überblick über die Kapitel 19 2 Neuerungen in Access 2000 23 2.1 Die Datenbank nach Access 2000 konvertieren 23 2.2 Was ist neu an Access 2000? 28 2.3 Die wichtigsten Neuerungen von Access 97 35 2.4 Unterschiede zwischen Access Basic und Visual Basic 40 3 Unterschiede zwischen Makros und VBA-Prozeduren 43 3.1 Vorteile von VBA gegenüber Makros 43 3.2 Makros in VBA-Code konvertieren 45 4 Anatomie einer relationalen Datenbank 47 4.1 Das Datenbankmodell von Access 47 4.1.1 Die Relation 47 4.1.2 Beziehungen zwischen Attributen 48 4.1.3 Die unterschiedlichen Schlüsselarten 51 4.1.4 Der Umgang mit Relationen 54 4.1.5 In einem relationalen Datenbankmodell Anomalien verhindern 57 4.2 Datenbanktheorie - Entwurf eines Datenbankmodells 58 4.2.1 Normalisierung 58 4.2.2 Das Entity-Relationship-Modell 63 5 Makros, um Arbeitsabläufe zu automatisieren 67 5.1 Das Makrofenster zum Erstellen von Makros 67 5.1.1 Der Aufbau des Makrofensters 68 5.1.2 Aktionen zu einem Makro hinzufügen 70 5.2 Das erste Makro erstellen und ausführen 78 5.2.1 Ein Makro erstellen und speichern 78 5.2.2 Das gespeicherte Makro ausführen 80 5.3 Makros als Makrogruppe zusammenfügen 82 5.3.1 Eine Makrogruppe erstellen 82 5.3.2 Ein Makro einer Makrogruppe ausführen 84 5.4 Erster Test mit Fehlersuche 86 5.5 Tägliche Arbeiten mit Makros 89 5.5.1 Makros verwalten 89
8 Inhaltsverzeichnis 5.5.2 Makros, Funktionen und Anwendungen öffnen und beenden 91 5.6 Ausgabe von Informationen 94 5.6.1 Ein Meldungsfenster anzeigen 94 5.6.2 Die Bildschirmanzeige nicht aktualisieren und die Sanduhr setzen 97 5.6.3 Warnmeldungen unterdrücken 100 5.7 Mit Bedingungen arbeiten 101 5.7.1 Eine Bedingung definieren 101 5.7.2 Eine Bedingung für mehrere Aktionen benutzen 104 5.8 Schleifen-Programmierung mit Makros 110 6 Der tiefere Einstieg mit VBA 113 6.1 Die Entwicklungsumgebung 113 6.1.1 Ein neues Modul öffnen und eine Prozedur einfügen 113 6.1.2 Die Entwicklungsumgebung gezielt benutzen 117 6.2 Grundwissen zu VBA in Access 127 6.3 Das erste Programm schreiben und ausführen 132 6.4 Erster Test mit Hilfe des Direktfensters 136 6.5 Spezielle VBA-Details 137 6.5.1 Der Datentyp Variant" 137 6.5.2 Aktionen und Makros aufrufen 143 6.5.3 Eine VBA-Funktion benutzen 145 6.5.4 Bezeichner für den Zugriff auf Felder und Steuerelemente 148 6.5.5 Das Objekt DBEngine und seine Nachkommen 152 6.5.6 Objektdatentypen und Objektvariable".T. 154 6.6 Ein- und Ausgabe über Dialogfeld und Meldungsfenster 158 6.6.1 Ausgabe in ein Meldungsfenster 158 6.6.2 Eingabe durch ein Dialogfeld 164 6.7 Der Objektkatalog 167 6.8 Eine MDE-Datei zum Schutz des VBA-Codes erstellen 172 7 Basic - Grundlagen der VBA-Programmierung 177 7.1 Daten in Variablen verwalten 177 7.1.1 Variablen besitzen einen Typ 177 7.1.2 Numerische Variablen 179 7.1.3 Variablen für Zeichenketten 181 7.1.4 Umwandlung von Datentypen 182 7.1.5 Private Datentypen festlegen 185
Inhaltsverzeichnis 7.2 Operatoren 186 7.3 Verzweigungen und Schleifen 187 7.3.1 If...Then...Else-Anweisung 187 7.3.2 Select-Case-Anweisung 191 7.3.3 For"-Anweisung 193 7.3.4 Do...Loop-Anweisung 195 7.3.5 Schleife vorzeitig beenden 196 7.3.6 GoTo"-Anweisung 197 7.4 Unterprogramme 197 7.4.1 Sub-Prozedur 197 7.4.2 Funktion 199 7.4.3 Parameterübergabe 199 7.4.4 Prozedur verlassen 203 7.4.5 Rekursion 204 7.4.6 Lokale Prozeduren 205 7.5 Vereinbarung von Feldern (Arrays) 206 7.5.1 Eindimensionale Arrays 206 7.5.2 Mehrdimensionale Arrays 207 7.5.3 Dynamische Array-Größe 208 7.6 Basic-Funktionen 210 7.6.1 String-Funktionen 210 7.6.2 Arithmetische Funktionen 213 7.6.3 Funktionen zur Ausführung von MS DOS-Befehlen 214 7.6.4 Datums- und Zeit-Funktionen 216 8 Mit Formularen, Berichten und Steuerelementen arbeiten 221 8.1 Auf Ereignisse reagieren 221 8.1.1 Definition eines Ereignisses 221 8.1.2 Beschreibung der einzelnen Ereignisse 228 8.1.3 Mit Ereignisprozeduren auf Ereignisse reagieren 248 8.1.4 Reihenfolge der Ereignisse 268 8.2 Formulare, Berichte und andere Datenbankobjekte bearbeiten 278 8.2.1 Objekte öffnen und schließen 279 8.2.2 Fenster verändern 293 8.2.3 Objekt kopieren und umbenennen 298 8.2.4 Ein Datenbankobjekt löschen 301 8.2.5 Formulare und Berichte drucken 302
Inhaltsverzeichnis 8.2.6 Datenbankobjekte senden oder im anderen Format speichern 304 8.2.7 Eigenschaften von Datenbankobjekten 310 8.3 Steuerelemente verwenden 319 8.3.1 Überblick über die Steuerelemente 320 8.3.2 Werte festlegen 326 8.3.3 Das Steuerelement Bezeichnungsfeld" 332 8.3.4 Das Steuerelement Textfeld" 333 8.3.5 Die Steuerelemente Listenfeld" und Kombinationsfeld" 342 8.3.6 Das Steuerelement Befehlsschaltfläche" 350 8.3.7 Die Steuerelemente Kontrollkästchen", Optionsfeld" und Umschaltfläche" 358 8.3.8 Das Steuerelement Optionsgruppe" 362 8.3.9 Das Steuerelement Register" 369 8.3.10 Die übrigen Steuerelemente 373 8.3.11 ActiveX-Controls 374 8.3.12 Besonderheiten bei Steuerelementen in VBA 376 8.4 Daten in Formularen bearbeiten 383 8.4.1 Datensätze ansteuern 383 8.4.2 Daten aktualisieren 390 8.4.3 Datensätze filtern 391 8.4.4 Datensätze suchen 393 8.4.5 Gültigkeit von Daten überprüfen 398 8.5 Beispiele für Formulare und Berichte 401 8.5.1 Zusammenarbeit von Formularen 402 8.5.2 Berichte aufbereiten '. 405 8.6 Arbeiten mit der Tastatur 413 8.6.1 Tastenbelegungen definieren 413 8.6.2 Die Aktion Tastaturbefehle" 416 8.7 Import/Export realisieren 420 9 Kleine Beispiele aus der Praxis zum sofortigen Einsatz 431 10 Fehlerbehandlung mit VBA 449 10.1 Testen von VBA-Code (Debugging) 449 10.1.1 Fehlersuche mit den Testfenstern 449 10.1.2 Mit Haltepunkten und Einzelschritten den Fehler einkreisen 453 10.1.3 Eigenschaften, Variable und Datenfelder überwachen 460 10.2 Programmtechnische Fehlerbehandlung 465
Inhaltsverzeichnis 11_ 10.2.1 Hilfen zur Fehlerbeseitigung 465 10.2.2 Auf Laufzeitfehler reagieren 467 10.2.3 Das Ereignis BeiFehler" 475 11 Data Access Objects (DAO) einsetzen 477 11.1 Datenbankobjekte verändern Daten 477 11.2 Datenbank für den Zugriff auf die Daten öffnen 479 11.3 Auf Daten zugreifen 485 11.3.1 Auf eine Tabelle zugreifen 485 11.3.2 Auf einen Dynaset zugreifen 487 11.3.3 Auf einen Snapshot zugreifen 490 11.3.4 Zugriff auf Daten in der Tabelle, im Dynaset oder im Snapshot 491 11.4 Datensatzzeiger positionieren: sequentiell oder über den Index 495 11.5 Datensätze ändern, anfügen und löschen 500 11.5.1 Datensatz ändern 500 11.5.2 Datensatz anfügen 501 11.5.3 Datensatz löschen 502 11.5.4 OLE-Felder bearbeiten 503 11.5.5 Besonderheiten beim Ändern und Anfügen 506 11.6 Daten eingrenzen 509 11.7 Daten sortieren und filtern 517 11.7.1 Nach einem Feld sortieren 517 11.7.2 Mit Hilfe eines Kriteriums Daten filtern 522 11.8 Transaktionssicherung und Datenschutz; 524 11.9 Abfragen 534 11.10 Tabellen, Formulare und Berichte erstellen 540 11.11 Informationen über die Datenbank ermitteln 546 11.12 Benutzer und Zugriffsrechte verwalten 557 11.12.1 Benutzer und Gruppen auflisten 557 11.12.2 Zugriffsrechte verwalten 561 12 Fortgeschrittene VBA-Programmierung 565 12.1 Text und Grafik in Berichten ausgeben 565 12.1.1 Die Ausgabe von Text 566 12.1.2 Grafische Grundfunktionen 570 12.1.3 Werkzeuge zum Zeichnen 578 12.1.4 Das Koordinatensystem 584
VI Inhaltsverzeichnis 12.2 Den Office-Assistenten und seine Dialogfelder selbst gestalten 587 12.3 Auf Windows-API-Funktionen zugreifen 597 12.3.1 Arbeiten mit Windows-API-Funktionen 597 12.3.2 Kleine API-Beispiele 600 12.4 Objektorientierte Programmierung: Eigene Klassenmodule anlegen 605 12.5 Neue Objekte, Methoden und Eigenschaften in Access 2000 613 12.5.1 Datenzugriffsseiten per VBA-Code verwalten 614 12.5.2 Auf Formulare und andere Datenbankobjekte zugreifen 618 12.5.3 Bedingte Formatierungen einsetzen 620 13 Dynamischer Datenaustausch (DDE) 625 13.1 Programme tauschen Daten aus 625 13.2 Verbindung aufbauen und Daten senden 626 13.3 DDE an Beispielen demonstrieren 629 13.4 Access als DDE-Server erkunden 634 14 OLE und OLE-Automatisierung 643 14.1 Objekte einbetten und verknüpfen 643 14.2 OLE-Automatisierung einsetzen 650 15 Mit Access Datenbankinformationen im Internet verbreiten 659 15.1 Online-Informationen 659 15.2 Internet oder Intranet 662 15.3 Wichtige Begriffe für das Internet 665 15.3.1 Aufbau der Internet-Adressen."..'. 666 15.4 Aufbau der Webseiten 672 15.4.1 Statische HTML-Dateien anlegen 673 15.4.2 Dynamische Informationen als IDC/HTX-Dateien 675 15.4.3 Dynamische Informationen als ASP-Dateien 678 15.5 HTML, die richtige Sprache fürs Internet 680 15.5.1 Interessantes zu HTML 680 15.5.2 Die HTML-Sprache verstehen 682 15.6 HTML-Dateien als Datenzugriffsseiten erstellen 705 15.6.1 Neue Datenzugriffsseiten anlegen 705 15.6.2 Bestehende Datenzugriffsseiten erweitern 706 15.6.3 Den HTML-Code nachbearbeiten 719 15.6.4 Internes zur Datenzugriffsseite 721 15.7 Daten mit Hilfe von Aktionen als HTML im- und exportieren 722
Inhaltsverzeichnis 13 15.8 Mit Hyperlinks ins Internet verzweigen 725 15.8.1 Felder vom Datentyp Hyperlink 726 15.8.2 Hyperlinks als Befehlsschaltfläche, Beschriftung oder Bild 730 15.8.3 Hyperlinks programmtechnisch ausführen 733 16 Einführung in die Sprache SQL 739 16.1 Unterschiede zwischen ANSI-SQL und Access-SQL 739 16.2 Auswahlabfragen mit SQL erstellen 743 16.3 Aktionsabfragen über SQL erledigen 749 16.4 SQL-spezifische Abfragen 753 16.4.1 Die Datendefinitionsabfrage 753 16.4.2 Die Union-Abfrage 759 16.4.3 Die Pass-Through-Abfrage 762 17 Menüs erstellen und dynamisch ändern 765 17.1 Menüleisten für Formulare und Berichte 765 17.2 Eine Menüleiste für die gesamte Anwendung 780 17.3 Ein eigenes Kontextmenü erstellen 782 17.4 Eigenschaften der Menüpunkte ändern 784 18 Symbolleiste, Statuszeile und Navigationsschaltflächen 787 18.1 Mit Symbolleisten arbeiten 787 18.1.1 Symbolleisten modifizieren 787 18.1.2 Eigene Schaltflächen erstellen 790 18.1.3 Symbolleisten ein- und ausblenden '..:. 797 18.2 Symbolleisten mit VBA erstellen 800 18.3 Den Inhalt der Statuszeile bestimmen 809 18.4 Formular mit eigenen Navigationsschaltflächen 813 19 Komplette Datenbankanwendungen 817 19.1 Die Datenbank benutzerfreundlich gestalten 817 19.1.1 Der Start einer Datenbankanwendung 817 19.1.2 Popup-Formulare verwenden 822 19.1.3 Symbolleiste verstecken 826 19.1.4 Datenbankfenster ausblenden 828 19.2 Hinzufügen eines Info"-Dialogfeldes 830 19.3 Andere Programme starten 831 19.4 Access und Windows beenden 838
14 Inhaltsverzeichnis 20 Client/Serveranwendungen 841 20.1 Client/Server verstehen 841 20.1.1 Was ist ein Client/Server-System? 841 20.1.2 Umstieg von einer Access-Datenbank auf ein Client/Server-System 844 20.2 Client/Server-Abfragen 846 20.3 Mehrbenutzerumgebung richtig verwalten 849 20.3.1 Die Datenbank aufteilen 849 20.3.2 Exklusiver oder gemeinsamer Zugriff auf die Daten 850 20.4 ODBCDirect 855 21 Verbindung zum MS SQL Server 861 21.1 Die beiden Data Engines" im Vergleich 861 21.2 Access-Projekte 866 21.2.1 Ein neues Access-Projekt anlegen 867 21.2.2 Besonderheiten bei einer Tabelle 869 21.2.3 Die Sichten 873 21.2.4 Datenbankdiagramme 876 21.2.5 Gespeicherte Prozeduren 880 21.3 Eine Access-Datenbank auf den MS SQL Server umstellen 882 22 Drucken - Daten schwarz auf weiß 887 22.1 Den aktuellen Datensatz drucken 887 22.2 Einen gesamten Bericht oder bestimmte Sätze drucken 888 22.2.1 Nur den aktuellen Datensatz als Bericht drucken 890 22.2.2 Den aktuellen Datensatz mehrmals drucken 891 22.2.3 Mehrere Datensätze drucken 893 22.3 Berichte zum Drucken auswählen 899 22.4 Seitennummern anpassen 901 23 Ein eigenes Hilfesystem erstellen 905 23.1 Interessantes zur HTML Help 906 23.1.1 Die Bedienung des HTML Help-Fensters 906 23.1.2 Vergleich zwischen HTML Help und WinHelp 908 23.1.3 Ein HTML Help-Projekt anlegen 909 23.1.4 Aufruf des Hilfesystems mit VBA 913 23.2 Kurze Hilfetexte direkt im Programm einblenden 914 23.2.1 Die Themendateien anlegen und Steuercodes hinzufügen 914
Inhaltsverzeichnis 15 23.2.2 Die Projektdatei erstellen 917 23.2.3 Den Übersetzungsvorgang starten 921 23.2.4 Die Hilfe dem Formular und den Steuerelementen zuordnen 922 23.3 Mehr Informationen in Fenstern der Hilfefunktion anzeigen 925 23.3.1 Den Aufbau des Hilfesystems planen 926 23.3.2 Weitere Steuercodes in die Themendateien einfügen 928 23.3.3 Inhalt der Themendateien des kleinen Hilfesystems 933 23.3.4 Die Inhaltsdatei anlegen 935 23.3.5 Die Projektdatei mit weiteren Abschnitten erstellen 937 23.3.6 Die Hilfe mit dem Formular und den Steuerelementen verbinden 939 23.4 Multimediale Erweiterungen 941 23.5 Weitere Steuerzeichen in den Themendateien 945 23.6 Beispiel für ein komfortables Hilfesystem 948 23.7 Hilfe-Makros verwenden 953 23.8 Weitere Einstellungen in der Projektdatei 965 23.8.1 Abschnitte der Projektdatei 966 23.8.2 Der Abschnitt [OPTIONS] 969 23.8.3 Die Projektdatei HILFE2.HPJ 980 23.9 Hilfedateien testen 982 23.10 Anwendung zum Hilfesystem programmieren 985 24 Spezielle mathematische Funktionen 995 24.1 Funktionen zur Verwendung verschiedener Zahlensysteme 995 24.1.1 Das Dualsystem.*..: 995 24.1.2 Das Hexadezimalsystem 997 24.2 Implementierung dieser Funktionen 1000 25 Multimedia in Access 1009 25.1 Multimedia-Unterstützung unter Windows 1009 25.2 MCI-Geräte 1011 25.2.1 Einführung in die Multimedia-Programmierung 1011 25.2.2 Ein MCI-Gerät steuern 1013 25.3 Einen CD-Spieler mit der MCI-Kommando-Zeichenkette realisieren 1021 25.4 Videos mit MCI-Kommando-Meldungen abspielen 1024 25.5 Akustische Daten - Soundunterstützung 1031 26 Add-Ins - Funktionalität von Access erweitern 1035 26.1 Die verschiedenen Add-In-Arten 1035
Inhaltsverzeichnis 26.2 Eigene Add-Ins schreiben - vom Menü zum Formular-Assistenten 1036 26.3 Systemtabelle UsysReglnfo" und Datenbank-Eigenschaften einstellen 1038 26.4 Add-In über den Add-In-Manager installieren 1044 27 Zusätzliche Werkzeuge für Entwickler. 1047 27.1 Der Windows API-Viewer 1048 27.2 Die Access-Laufzeitumgebung 1049 27.2.1 Aufrufmöglichkeiten der Laufzeitversion 1050 27.2.2 Unterschiede zwischen Access und der Laufzeitversion 1051 27.3 Ein Setup-Programm mit dem Setup-Assistenten erstellen 1055 27.3.1 Das Installationspaket erstellen 1056 27.3.2 Beispiel für die Setup-Dateien von Access 1063 28 ActiveX-Steuerelemente für Erweiterungen 1067 28.1 Bilder in einer Liste speichern 1068 28.2 Eine Symbolleiste auf einfache Weise erstellen 1071 28.3 Texte mit unterschiedlichen Formaten in einem Feld darstellen 1078 28.4 Microsoft-Dialogfelder aufrufen 1082 28.4.1 Verschiedene Schriften wählen 1083 28.4.2 Eine Hilfedatei bei den allgemeinen Dialogfeldern verwenden 1086 28.4.3 Dialogfelder zum Öffnen und Speichern von Dateien 1088 28.4.4 Auf das Abbrechen eines Dialogfelds durch den Anwender reagieren 1091 28.4.5 Mit Farben arbeiten 1094 28.4.6 Einstellungen zum Drucken vornehmen 1095 28.5 Zahlenwerte über Drehfelder erhöhen beziehungsweise erniedrigen 1098 28.6 Fortschritte anzeigen 1101 28.7 Mit dem Schieberegler Werte einstellen 1102 28.8 Einstellungen über Karteiblätter vornehmen 1104 28.9 Aufzählungen hierarchisch darstellen 1108 28.10 Listen übersichtlich anzeigen 1113 28.11 Kurzsymbole in einer Leiste anzeigen 1118 29 Der Replikationsmanager für den professionellen Datenabgleich 1123 29.1 Den Replikationsmanager konfigurieren 1123 29.2 Der Replikationsmanager - Kopien erstellen, verwalten und synchronisieren 1126 29.3 Daten programmtechnisch mit DAO abgleichen 1135 29.4 Konflikte und Fehler beim Synchronisieren lösen 1139 29.5 Ein Replikat in eine nichtreplizierbare Datenbank konvertieren 1143
Inhaltsverzeichnis 17 30 Die Beispiel-Datenbanken auf der CD 1145 31 Index 1147