Irene Bauder Microsoft Access 2007-Programmierung Effektiver Einstieg in die Programmierung von Datenbankanwendungen ISBN-10: 3-446-41022-8 ISBN-13: 978-3-446-41022-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41022-0 sowie im Buchhandel
Vorwort...XIII 1 Was gibt s Neues in Access 2007?... 1 1.1 Die Datenbank nach Access 2007 konvertieren... 1 1.2 Änderungen in Access 2007 zu älteren Versionen... 4 1.3 Erweiterungen in Access 2007... 8 2 Grundlagen einer RDBMS... 17 2.1 Das Datenbankmodell von Access... 17 2.1.1 Beziehungen... 19 2.1.2 Die Schlüsselarten in einer relationalen Datenbank... 21 2.2 Datenbankdesign... 24 2.2.1 Normalisierung... 25 2.2.2 Das Entity-Relationship-Modell... 30 2.3 Fragen zu Kapitel 2... 33 3 Einführung in die Makroprogrammierung... 37 3.1 Die Entwicklungsumgebung für Makros... 37 3.1.1 Der Aufbau des Makrofensters... 38 3.1.2 Aktionen zu einem Makro hinzufügen... 41 3.2 Das erste Makros erstellen und ausführen... 48 3.3 Eine Makrogruppe für mehrere Makros erstellen... 51 3.4 Aktionen für den täglichen Gebrauch... 55 3.4.1 Ausgabe in ein Meldungsfenster mit einem Makro... 55 3.4.2 Makros und Funktionen starten sowie Objekte beenden... 59 3.4.3 Länger dauernde Operationen durchführen... 61 3.4.4 Warnmeldungen unterdrücken... 64 3.4.5 Variablen in Makros einsetzen... 65 3.5 Makros testen und eine Fehlerbehandlung ergänzen... 68 3.6 Die Makrostruktur mit Bedingungen erweitern... 72 3.6.1 Eine Bedingung definieren... 72 V
3.6.2 Eine Bedingung für mehrere Aktionen benutzen...75 3.7 Schleifenprogrammierung mit Makros...81 3.8 Fragen zu Kapitel 3...83 4 Einführung in die Modulprogrammierung... 87 4.1 Vorteile von VBA gegenüber Makros...87 4.2 Die Entwicklungsumgebung für Module...90 4.2.1 Ein neues Modul öffnen und eine Prozedur einfügen...90 4.2.2 Die Entwicklungsumgebung gezielt einsetzen...94 4.3 Access-Objekte...105 4.4 Prozeduren erstellen, ausführen und testen...113 4.4.1 Makroaktionen in VBA aufrufen...117 4.4.2 Eine VBA-Funktion benutzen...119 4.5 Ein- und Ausgabe über Dialogfeld und Meldungsfenster...123 4.5.1 Ausgabe in ein Meldungsfenster mit VBA-Code...123 4.5.2 Eingabe durch ein Dialogfeld...129 4.6 Der Objektkatalog...131 4.7 ACCDE-Datei zum Schutz des VBA-Codes erstellen...137 4.8 Fragen zu Kapitel 4...139 5 Die Datenbank... 141 5.1 Datenbankverwaltung...141 5.1.1 Die ersten Schritte in einer Datenbank...141 5.1.2 Die Datenbank komprimieren und reparieren...149 5.1.3 Die Datenbank dokumentieren...153 5.1.4 Tabellen mit dem Tabellenanalyse-Assistent aufteilen...159 5.1.5 Eine Leistungsanalyse durchführen...162 5.2 Datenbankobjekte bearbeiten...164 5.2.1 Aktionen zum Öffnen, Schließen und Speichern...165 5.2.2 Aktionen zum Umbenennen, Kopieren und Löschen...168 5.2.3 Aktionen zum Speichern in ein anderes Format...172 5.3 Daten ex- und importieren...178 5.3.1 Aktionen für den Im- und Export von Daten...178 5.3.2 Methoden in VBA zum XML-Import und -Export...187 5.4 Eine Datenbankanwendung erstellen...198 5.4.1 Tastenbelegungen definieren...198 5.4.2 Eine Datenbankanwendung starten...202 5.4.3 Die Multifunktionsleiste verändern...214 5.4.4 Ein eigenes Kontextmenü erstellen...227 5.4.5 Den Inhalt der Statuszeile gestalten...230 5.5 Zugriff auf Datenbanken mit DAO und ADO...234 5.5.1 Der Datenbankzugriff mit DAO...235 5.5.2 Der Datenbankzugriff mit ADO...238 5.6 Die Datenbank mit DAO und ADO öffnen...242 5.6.1 Die Datenbank mit DAO öffnen...242 5.6.2 Die Datenbank mit ADO öffnen...247 VI
5.7 Datenbankinformationen mit DAO und ADO lesen... 252 5.7.1 Informationen mit DAO auslesen... 255 5.7.2 Informationen mit ADO auslesen... 265 5.8 Benutzer- und Rechnernamen ermitteln... 270 5.8.1 Mit der Datenbank verbundene Rechner ermitteln... 270 5.8.2 Benutzer mit ADO für eine MS SQL Server-Datenbank ermitteln... 271 5.9 Fragen zu Kapitel 5... 274 6 Tabellen... 277 6.1 Tabellen anlegen... 277 6.1.1 Die Definition der Felder... 278 6.1.2 Die Eigenschaften der Felder... 284 6.1.3 Beziehungen zwischen den Tabellen anlegen... 299 6.2 Auf Daten in Tabellen mit DAO und ADO zugreifen... 303 6.2.1 Mit DAO auf verschiedene Recordset-Typen zugreifen... 303 6.2.2 Datenzugriff mit einem DAO-Recordset... 307 6.2.3 Verschiedene Cursor-Arten in ADO einsetzen... 311 6.2.4 Die Daten einer Tabelle oder einer Abfrage mit ADO lesen... 314 6.3 Datensatzzeiger mit DAO und ADO positionieren... 315 6.3.1 Die Positionierung mit DAO durchführen... 316 6.3.2 Die Positionierung mit ADO durchführen... 320 6.4 Datensätze mit DAO und ADO ändern, anfügen, entfernen... 324 6.4.1 Einen bestehenden Datensatz bearbeiten... 325 6.4.2 Einen neuen Datensatz anfügen... 327 6.4.3 Einen bestehenden Datensatz löschen... 328 6.4.4 OLE-Objekt -, Memo -, Image - und Text -Felder bearbeiten... 330 6.4.5 Besonderheiten beim Ändern und Anfügen... 335 6.5 Daten mit DAO und ADO suchen... 339 6.5.1 Die schnelle Datensuche über die Methode Seek... 339 6.5.2 Die normale Datensuche über die Methoden Find... 343 6.5.3 Lesezeichen einsetzen... 348 6.6 Daten mit DAO und ADO sortieren und filtern... 353 6.6.1 Daten nach einem oder mehreren Feldern sortieren... 353 6.6.2 Daten filtern... 356 6.7 Datenkonsistenz in DAO und ADO gewährleisten... 359 6.7.1 Transaktionssicherung einsetzen... 359 6.7.2 Die Problematik der verteilten Daten... 362 6.8 Tabellen mit DAO und ADO entwerfen... 366 6.8.1 Tabellenentwurf mit DAO... 366 6.8.2 Tabellenentwurf mit ADOX... 369 6.9 Fragen zu Kapitel 6... 372 7 Abfragen und SQL... 375 7.1 Abfragen in der Entwurfsansicht erstellen... 375 7.1.1 Tabellen und Felder in die Abfrage einfügen... 376 7.1.2 Kriterien festlegen... 383 VII
7.1.3 Parameterabfragen...388 7.1.4 Abfragen über mehrere Tabellen erstellen...390 7.1.5 Berechnungen in Feldern, Gruppierungen und Aggregatfunktionen...395 7.1.6 Aktionsabfragen zum Verändern von Tabelleninhalten...399 7.2 Die strukturierte Abfragesprache SQL...406 7.2.1 Auswahlabfragen ( SELECT )...408 7.2.2 Aktionsabfragen ( SELECT INTO, INSERT, UPDATE, DELETE )...421 7.2.3 Spezielle Abfragetypen...424 7.3 SQL-Code in VBA einsetzen...435 7.4 Abfragen mit DAO und ADO verwalten...440 7.4.1 Abfragen mit DAO ausführen und erstellen...440 7.4.2 Abfragen, Sichten, gespeicherte Prozeduren mit ADO ausführen und entwerfen..444 7.5 Fragen zu Kapitel 7...449 8 Formulare... 453 8.1 Formulare interaktiv erstellen...453 8.1.1 Steuerelemente einfügen und bearbeiten...456 8.1.2 Der Aufbau eines Formulars...464 8.1.3 Haupt-/Unterformulare verwenden...467 8.2 Formulare programmtechnisch bearbeiten...472 8.2.1 Formulare öffnen...472 8.2.2 Die Formular-Eigenschaften...477 8.2.3 Formulare programmtechnisch erstellen...485 8.3 Die Steuerelemente im Formular...488 8.3.1 Zugriff auf Formulare und ihre Steuerelemente mit VBA...488 8.3.2 Die Steuerelemente und ihre Eigenschaften programmieren...493 8.3.3 Das Steuerelement Textfeld...502 8.3.4 Die Steuerelemente Listenfeld und Kombinationsfeld...510 8.3.5 Das Steuerelement Befehlsschaltfläche...525 8.3.6 Die Steuerelemente Kontrollkästchen, Optionsfeld und Umschaltfläche...531 8.3.7 Das Steuerelement Register...533 8.3.8 Das Steuerelement Anlage...536 8.3.9 ActiveX-Controls...538 8.4 Auf Ereignisse reagieren...542 8.4.1 Daten-Ereignisse...543 8.4.2 Maus-Ereignisse...553 8.4.3 Fokus-Ereignisse...562 8.4.4 Tastatur-Ereignisse...568 8.4.5 Fenster-Ereignisse...573 8.4.6 Fehler- und Zeitgeber-Ereignisse...576 8.4.7 Die Eigenschaft BeiFehler...576 8.4.8 Reihenfolge der Ereignisse in Formularen...580 8.5 Daten in Formularen eingeben und bearbeiten...585 8.5.1 Datensätze ansteuern und aktualisieren...585 8.5.2 Den aktuellen Datensatz aus einem Formular drucken...592 8.5.3 Daten abhängig von ihrem Inhalt formatieren...594 VIII
8.5.4 Datensätze filtern... 596 8.5.5 Datensätze suchen... 602 8.5.6 Gültigkeit von Daten überprüfen... 610 8.5.7 Formulare synchronisieren... 613 8.6 Hyperlinks in Formularen einsetzen... 616 8.6.1 Hyperlinks als Befehlsschaltfläche, Beschriftung oder Bild... 617 8.6.2 Hyperlinks programmtechnisch ausführen... 619 8.7 Fragen zu Kapitel 8... 623 9 Berichte... 627 9.1 Berichte mit und ohne Assistenten anlegen... 627 9.1.1 Aus der Seitenansicht drucken... 629 9.1.2 Der Aufbau eines Berichts... 631 9.1.3 Sortierungen und Gruppierungen hinzufügen... 633 9.1.4 Berichte ohne Access weitergeben... 637 9.2 Spezielle Ereignisse in Berichten... 639 9.2.1 Ereignisse der Berichtsbereiche... 639 9.2.2 Ereignisse des Berichts... 645 9.3 Steuerelemente im Bericht... 647 9.4 Einen Bericht per Programm öffnen und drucken... 651 9.4.1 Die Aktion ÖffnenBericht... 651 9.4.2 Die Aktion Drucken... 653 9.4.3 Den aktuellen Datensatz ein- oder mehrmals drucken... 655 9.4.4 Den aktuellen Datensatz mehrmals drucken... 657 9.5 Eigenschaften eines Berichts... 665 9.6 Berichte programmtechnisch verbessern... 669 9.6.1 Seitennummern anpassen... 669 9.6.2 Berechnungen im Seitenkopf/-fuß... 674 9.6.3 Weitere programmtechnische Verbesserungen... 677 9.7 Text und Grafik in Berichten ausgeben... 682 9.7.1 Text direkt in einen Bericht schreiben... 682 9.7.2 Punkte, Linien, Rechtecke und Kreise zeichnen... 687 9.7.3 Die Zeichenwerkzeuge Stift, Pinsel und Schriftart benutzen... 695 9.7.4 Das Koordinatensystem... 699 9.8 Mit dem Printer -Objekt drucken... 700 9.8.1 Zugriff auf alle installierten Drucker oder auf den Standarddrucker... 701 9.8.2 Eigenschaften des Printer -Objekts verwenden... 704 9.8.3 Ein eigenes Drucken-Dialogfeld gestalten... 706 9.9 Fragen zu Kapitel 9... 712 10 Module mit VBA... 715 10.1 Testen von VBA-Code (Debugging)... 715 10.1.1 Mit dem Direktfenster arbeiten... 715 10.1.2 Mit Haltepunkten und Einzelschritten den Fehler finden... 718 10.1.3 Eigenschaften, Variablen und Datenfelder überwachen... 724 10.2 Programmtechnische Fehlerbehandlung... 728 IX
10.2.1 Fehlerarten und Tipps zur Beseitigung von Fehlern...728 10.2.2 Eine eigene Fehlerbehandlungsroutine schreiben...730 10.3 Datenaustausch mit Word und Excel...737 10.3.1 OLE-Objekte verknüpfen und einbetten...737 10.3.2 Mit ActiveX-Komponenten arbeiten...741 10.4 Die Dialogfelder vom Office-Paket aufrufen...749 10.5 Auf Windows-API-Funktionen zugreifen...753 10.5.1 Arbeiten mit Windows-API-Funktionen...753 10.5.2 Mehrere API-Beispiele...757 10.6 Selbst definierte Klassenmodule erstellen...765 10.7 Fragen zu Kapitel 10...772 11 Access-Projekte... 775 11.1 Access und der MS SQL Server im Vergleich...775 11.1.1 Unterschiede zwischen Access und dem MS SQL Server...775 11.1.2 Vergleich zwischen Access und der MS SQL Server Express Edition...777 11.1.3 Unterschiede zwischen den einzelnen MS SQL Server-Editionen...780 11.1.4 Installation und Weitergabe des MS SQL Servers Express...784 11.2 Ein neues Access-Projekt anlegen...787 11.3 Eine MS SQL Server-Tabelle definieren...792 11.3.1 Die Datentypen einer MS SQL Server-Tabelle...793 11.3.2 Primär-, Fremdschlüssel und Prüfeinschränkungen erstellen...796 11.3.3 Ein Feld mit einem Index versehen...800 11.3.4 MS SQL Server-Tabellen mit SQL-Code anlegen...801 11.4 Sichten, gespeicherte Prozeduren etc. erstellen...803 11.4.1 Sichten...804 11.4.2 Gespeicherte Prozeduren...809 11.4.3 Benutzerdefinierte Funktionen...826 11.5 Datenbankdiagramme...831 11.6 Trigger...833 11.6.1 Einen Trigger erstellen...834 11.6.2 Die referenzielle Integrität mit Triggern realisieren...835 11.7 Eine Access-Datenbank auf den MS SQL Server portieren...838 11.8 Vergleich der Datentypen, Funktionen etc....844 11.9 Fragen zu Kapitel 11...850 12 Verwaltung des MS SQL Servers Express... 853 12.1 Verwaltungstools des MS SQL Servers Express...853 12.1.1 Der SQL Server Configuration Manager...854 12.1.2 SQL Server-Oberflächenkonfiguration...857 12.1.3 Das SQL Server Management Studio Express...859 12.1.4 Transact-SQL-Anweisungen mit SQLCMD ausführen...873 12.1.5 Im- und Exportieren von Daten mit BCP...876 12.2 Zugriff auf Systemdaten...878 12.2.1 Systemdatenbanken...878 12.2.2 Metadaten...883 X
12.2.3 Systemprozeduren, -funktionen und DBCC-Anweisungen... 887 12.3 Eine Datenbank mit Tabellen und Indexe erstellen... 894 12.3.1 Eine Datenbank anlegen und deren Größe ändern... 896 12.3.2 Tabellen hinzufügen... 911 12.3.3 Einen Index ergänzen... 915 12.4 Sichern und Wiederherstellen von Daten... 920 12.4.1 Daten sichern... 920 12.4.2 Daten wiederherstellen... 927 12.5 Vergabe von Berechtigungen für den Server und die Datenbanken... 933 12.5.1 Authentifizierung... 934 12.5.2 Autorisierung... 938 12.5.3 Rollen... 943 12.5.4 Zugriffsrechte vergeben... 948 12.5.5 Ein Schema als Container von Datenbankobjekten... 952 12.6 Fragen zu Kapitel 12... 953 13 Anhang... 957 13.1 Alle Tipps im Buch auf einen Blick... 957 13.2 Lösungen zu den Fragen... 959 13.3 Die Beispiel-Datenbanken... 962 Register... 963 XI