Doberenz / Gewinnus | Access programmieren | E-Book | sack.de
E-Book

E-Book, Deutsch, 1199 Seiten

Doberenz / Gewinnus Access programmieren

Grundlagen und Praxiswissen. Für die Versionen 2010, 2013 und 2016

E-Book, Deutsch, 1199 Seiten

ISBN: 978-3-446-45149-0
Verlag: Carl Hanser
Format: EPUB
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)



Das Standardwerk zur Access-Programmierung für Einsteiger und Profis
Von den VBA-Grundlagen über fortgeschrittene Datenbankprogrammierung bis zur Anbindung von SQL Server und dem Einsatz in der Cloud bietet Ihnen dieses Handbuch umfassendes Wissen zur Datenbankprogrammierung für die Access-Versionen 2010 bis 2016.


Grundlagen und Praxiswissen
Einsteiger mit Vorkenntnissen erhalten im ersten Teil eine fundierte Einführung in die Datenbankprogrammierung mit Access unter Verwendung von Makros und VBA.
Für fortgeschrittene Programmierer werden im Hauptteil zahlreiche Problemlösungen und universell einsetzbaren Routinen vorgestellt. Dabei lernen Sie unter anderem, wie Sie die Benutzerschnittstelle gestalten und auf die Daten mit verschiedenen Techniken zugreifen.


Aus dem Inhalt
• Programmieren mit VBA
• Einführung in die Makroprogrammierung
• Programmierung von Formularen und Steuerelementen
• Datenbankberichte und Druckersteuerung
• Datenbankzugriff mit DAO und ADO
• Fortgeschrittene Datenbankprogrammierung (DAO, ADOX, ODBC)
• Microsoft SQL Server (SMO, SQL)
• Zugriff auf Azure SQL und SQLite
• Programmschnittstellen (API-Zugriff, DDE, OLE, DLL und.NET)
• Arbeit mit Dateien, XML und SQL
• Entwickeln von Assistenten und Managed Add-Ins
• Programmieren des Menübands (Ribbon)


Die erforderlichen theoretischen Grundlagen werden klar und verständlich vermittelt; bei der Auswahl der besprochenen Beispiele und Konzepte steht immer der praktische Nutzen im Vordergrund; Tipps und Tricks helfen bei der täglichen Arbeit.


• Auf der Website zum Buch finden Sie alle Codebeispiele
• E-Book inside: Mit Ihrem persönlichen Code können Sie die E-Book-Ausgabe diese Buches downloaden.


Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader oder Ebook-Reader bzw. Adobe Digital Editions.
Doberenz / Gewinnus Access programmieren jetzt bestellen!

Weitere Infos & Material


1
Einführung





Dieses Kapitel soll Ihnen einen ersten Überblick über die VBA-Programmierung unter Microsoft Access (ab Version 2010) vermitteln. Da das Buch nicht für den absoluten Einsteiger geschrieben wurde, gehen die Autoren davon aus, dass Sie bereits über gewisse Erfahrungen in der konventionellen Access-Datenbankprogrammierung verfügen, die Entwicklungsumgebung bedienen können und zumindest auch wissen, wie ein Makro funktioniert.



1.1
VBA-Programmierung in Access



VBA (Visual Basic for Applications) ist weit mehr als nur eine Alternative zur gängigen Makro-Programmierung unter Microsoft Access. Es handelt sich hier um eine komfortable und leistungsfähige Programmiersprache für alle Microsoft Office-Produkte.



1.1.1
Visual Basic versus VBA



Im Unterschied zu Visual Basic ist allerdings VBA keine eigenständige Sprache, mit der allein man lauffähige Programme entwickeln könnte, sondern es lassen sich mit VBA bestimmte Anwendungen, wie z.?B. Microsoft Access, in ihrer Funktionalität erweitern bzw. nutzerspezifischen Anforderungen anpassen. Oder fachmännischer ausgedrückt: Von VBA aus lassen sich die Objektmodelle von Access, Word, Excel etc. steuern. Wenn wir im Folgenden mal von „Visual Basic“ und mal von „VBA“ sprechen, so sollten Sie diese „Laxheit“ nicht auf die Goldwaage legen, denn gemeint ist ein und dasselbe. Fakt ist, dass VBA als Untermenge vollständig in Visual Basic enthalten ist1, bei weitem aber nicht alle Features von Visual Basic unterstützt. Man könnte mit anderen Worten VBA auch als „kleinsten gemeinsamen Nenner“ von Visual Basic2 und Access bezeichnen (siehe folgende Abbildung).


HINWEIS: Es gibt zahlreiche Anwendungen, in die VBA integriert ist, und dabei handelt es sich bei weitem nicht nur um Microsoft Office-Produkte.





1.1.2
Objekt- und ereignisorientierte Programmierung



Im Unterschied zur klassischen prozeduralen Anwendungsentwicklung hat sich der VBA-Programmierer verstärkt mit folgenden Begriffen auseinander zu setzen:



1.1.2.1
Objekte (Objects)



Die verschiedenen Office-Anwendungen bieten ihre Funktionalität in Form von Objekten an, auf die mit VBA-Code zugegriffen werden kann. Obwohl wir mittlerweile im .NET-Zeitalter angekommen sind, liefert das COM (Component Object Model) immer noch die Grundlage für die Zusammenarbeit der verschiedenen Office-Objekte (auch über Anwendungsgrenzen hinaus).
Aus Anwendersicht kennen Sie bereits Datenbankobjekte wie Tabelle, Abfrage, Formular, Bericht, Makro, Modul. Für den VBA-Programmierer sind neben den datenbankspezifischen Objekten Tabelle und Abfrage vor allem Forms, Reports und Controls von besonderem Interesse, da sie die wesentlichen Anwenderschnittstellen zur Verfügung stellen. Hinzu kommen die Module, die keine Objekte im engeren Sinne sind, sondern lediglich Quelltextbibliotheken darstellen.



1.1.2.2
Eigenschaften (Properties)



Hinter diesem Begriff verbergen sich die Attribute von Objekten, wie z.?B. Höhe (Height) und Breite (Width) eines Textfeldes. Jedes Objekt verfügt über seine eigene Menge von Eigenschaften, die teilweise nur zur Entwurfszeit (im Eigenschaftenfenster) oder zur Laufzeit (per Quellcode) zugewiesen werden können. Allgemein unterscheiden wir zwischen Format-, Daten- und anderen Properties (siehe dazu Kapitel 4).



1.1.2.3
Methoden (Methods)



Diese auf dem Objekt definierten Funktionen und Prozeduren hauchen „Leben“ in die bislang nur mit statischen Attributen behafteten Objekte. So erzeugt z.?B. die Line-Methode eine Linie vor dem Hintergrund eines Reports, mit Print kann Text im Debug-Objekt (Testfenster) ausgegeben werden usw.



1.1.2.4
Ereignisse (Events)



Diese werden von Nachrichten ausgelöst, die vom Objekt empfangen werden. Dieser Nachrichtenverkehr stellt die eigentliche Schnittstelle zu Windows dar. Der Mausklick auf ein Formular löst z.?B. ein MouseDown-Ereignis für dieses Objekt aus. Wir unterscheiden zwischen Fenster- und Fokus-, Tastatur- und Maus- sowie Daten- und Filter-Events (siehe Kapitel 4 und 5). Eine Hauptaufgabe des Programmierers ist das Schreiben von so genannten Ereignisbehandlungsroutinen (Event-Handler), in denen er festlegt, wie das Objekt bei Eintreffen eines bestimmten Ereignisses zu reagieren hat.
Einen ersten Eindruck der objekt- und ereignisorientierten VBA-Programmierung gewinnen Sie am besten anhand der Beispiele im Praxisteil dieses Kapitels. Weitere grundlegende Ausführungen zur objektorientierten Programmierung (OOP) folgen in Kapitel 6.



1.1.3
VBA- oder Makro-Programmierung?



Die klassischen Programmiermöglichkeiten unter Microsoft Access (Makro- und Ausdruckseditor, QbE-Fenster etc.) sind bereits so komfortabel, dass Sie mit Recht die Frage stellen werden: „Wozu brauche ich denn dann überhaupt noch VBA?“
Hier eine Aufzählung wichtiger Argumente, die für den Einsatz von VBA sprechen:


Erhöhung der Performance (Ausführungsgeschwindigkeit)


Definition eigener Funktionen (Makros können keine Werte zurückliefern!)


Spezielle Fehlerbehandlungsroutinen sind möglich


Verwendung von Ereignissen mit Übergabeparametern


Definition neuer Objekte (Tabellen, Abfragen, Formulare, Berichte) per Code


Zugriff auf andere Windows-Programme per OLE oder DDE


Nutzung spezieller Funktionen des Windows-API


Auslagerung von Teilen des Anwendungscodes in eine Bibliothek


Arbeiten mit den Datenbank-Objekten


Zugriff auf integrierte Funktionen des Datenbanksystems (z.?B. Routinen zur Datendefinition oder SQL-Server-Prozeduren)


Auch der genialste Makro-Programmierer wird wohl früher oder später feststellen, dass er an Grenzen stößt, die sich nur mit dem mächtigen Instrumentarium von VBA durchbrechen lassen.
Der Umstieg zu VBA wird für den erfahrenen Makro-Programmierer vor allem durch zwei in Microsoft Access eingebaute Features erleichtert:


Automatische Makro-Konvertierung


DoCmd-Objekt


Konkrete Anleitungen dazu finden Sie im entsprechenden Einführungsbeispiel bzw. im Übersichtsteil dieses Kapitels.


HINWEIS: Allerdings soll ? bei aller Liebe zu VBA ? auch nicht verschwiegen werden, dass die Programmierung von Datenmakros und Web-Datenbanken mit VBA nicht möglich ist.





1.1.4
Die VBA-Entwicklungsumgebung



Da in diesem Buch die VBA-Programmierung eine zentrale Rolle spielt, werden wir uns im Folgenden schwerpunktmäßig auf die Elemente der VBA-Entwicklungsumgebung (IDE3) konzentrieren und die übrigen Access-Bedienfunktionen weitgehend als bekannt voraussetzen.



1.1.5
Formularentwurf



Beim visuellen Entwurf der Benutzeroberflächen von Formularen bzw. Berichten haben wir es zunächst mit den standardmäßigen Fenstern der Access-IDE zu tun:


Navigationsbereich


Formular-/Berichtsfenster (Entwurfsansicht)


Eigenschaftenblatt


Menüband


Da vorausgesetzt wird, dass Sie bereits über Erfahrungen beim visuellen Entwurf von Formularen/ Berichten verfügen, kann wohl auf weitere Erklärungen verzichtet werden (siehe Einführungsbeispiel).



1.1.6
Code-Fenster und Symbolleiste



Das Tor zur VBA-Programmierung öffnet sich Ihnen weit, nachdem Sie die Registerkarte Datenbanktools gewählt haben und auf die Schaltfläche Visual Basic (Befehlsgruppe Makro) klicken. Hier wählen Sie im Projekt-Explorer das gewünschte Formular aus.



1.1.6.1
Die wichtigsten Fenster



Das VBA-Fenster sieht unter Access genauso aus wie bei den übrigen Office-Anwendungen.
Die wichtigsten Fenster innerhalb der VBA-IDE sind


Code-Fenster (öffnen über F7 oder Ansicht/Code),


Eigenschaftenfenster (öffnen über F4 oder Ansicht/Eigenschaftenfenster) und


Projektfenster (öffnen über Strg+R oder Ansicht/Projekt-Explorer).


Auf einige Besonderheiten dieser Fenster werden wir zu einem späteren Zeitpunkt eingehen.



1.1.6.2
Die wichtigsten Menübefehle



Wenn Sie in der VBA-IDE arbeiten, wechselt das Menüband das Aussehen und stellt Ihnen eine Reihe von Bedienfunktionen zur Verfügung, die Sie speziell für die Arbeit mit dem Code-Editor benötigen. Sie werden feststellen, dass viele Funktionen starke Ähnlichkeiten zur Bedienung einer Textverarbeitung unter Windows aufweisen.
Die am häufigsten benötigten Menüpunkte sind über Schaltflächen. In Abhängigkeit vom momentanen Zustand des Editors können einige Schaltflächen gesperrt sein und/oder das Aussehen bzw. die Funktion wechseln. Außerdem haben Sie die Möglichkeit, über das Menü Ansicht/Symbolleisten Änderungen vorzunehmen.
Die folgende Tabelle zeigt eine Zusammenstellung der für den Einstieg in die Codeprogrammierung zunächst wichtigsten...


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.