Richtig einsteigen: Access 2013 VBA-Programmierung - Lorenz Hölscher - ebook

Richtig einsteigen: Access 2013 VBA-Programmierung ebook

Lorenz Hölscher

0,0

Opis

Wenn Sie fortgeschrittene Datenbanken entwickeln wollen, benötigen Sie oft mehr Funktionalität, als Access Ihnen standardmäßig bietet. Die Lösung des Problems ist die Programmierung mit VBA. Lorenz Hölscher zeigt Ihnen hier, wie Sie mit Hilfe von VBA Ihre Datenbanken erheblich verbessern können. Er führt Sie von Grundlagen wie dem Verständnis von Datentypen und Datenzugriffsarten bis hin zu fortgeschrittenen Themen wie der Klassenprogrammierung. Dabei hält er immer anschauliche Beispiele bereit, wie und warum Ihnen die jeweils vorgestellte Methodik hilft. Neben der reinen Datenbankprogrammierung vergisst er dabei aber auch nicht die ansprechende Gestaltung der Programmoberfläche, denn auch bei Datenbanken zählt der äußere Eindruck. Wer professionelle Datenbanken erstellen und die Programmierung mit VBA erlernen will, liegt mit diesem Buch genau richtig!

Ebooka przeczytasz w aplikacjach Legimi na:

Androidzie
iOS
czytnikach certyfikowanych
przez Legimi
Windows
10
Windows
Phone

Liczba stron: 517

Odsłuch ebooka (TTS) dostepny w abonamencie „ebooki+audiobooki bez limitu” w aplikacjach Legimi na:

Androidzie
iOS
Oceny
0,0
0
0
0
0
0



Richtig einsteigen: Access 2013 VBA-Programmierung: Von den Grundlagen bis zur professionellen Entwicklung

LorenzHölscher

Published by Microsoft Press Deutschland

A Note Regarding Supplemental Files

Supplemental files and examples for this book can be found at http://examples.oreilly.com/9783866452251/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.

All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, we’ve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to [email protected]

Teil I. Erste Schritte

Kapitel 1. Einleitung

1.1 Die Themenschwerpunkte dieses Buchs

Herzlich willkommen bei »Access 2013 VBA-Programmierung«. Dieses Buch erläutert den Einsatz von VBA in Access 2013 und zeigt, wie Sie damit professionelle DatenbankProgramme erstellen. Mit dieser Zielformulierung sind die drei Themenschwerpunkte beschrieben, die in diesem Buch besprochen und in den nächsten Abschnitten kurz vorgestellt werden.

Visual Basic for Applications

Access 2013 selbst ist ein relationales Datenbank-Management-System, mit dem Sie eine komplette Datenbank von der Speicherung der Daten in Tabellen bis zur Ausgabe in Berichten erstellen können. Zusätzlich enthält Access mit VBA (Visual Basic for Applications) noch eine sehr mächtige Programmiersprache, die allen Wünschen und Anforderungen an ein modernes Programm gewachsen ist. Damit können Sie Access 2013 um praktisch jede beliebige Funktionalität erweitern. Ein paar der Highlights finden Sie in der folgenden Aufstellung:

Ausgefeilter Code-Editor mit Code-Farbgebung, der beispielsweise Schlüsselwörter farbig hervorhebt und Syntaxfehler markiert

IntelliSense-Auswahllisten, die sich öffnen, während Sie Code eintippen, und sinnvolle Vorschläge zur automatischen Vervollständigung des Programmcodes machen

Integrierter Debugger, der Sie beim Erkennen und Beheben von Fehlern in Ihren Programmen unterstützt

Umfangreiche, kontextsensitive Hilfe, die gerade bei den ersten Schritten und den ersten Programmierprojekten sehr hilfreich ist

Alle diese Bestandteile von VBA in Access 2013 werden Sie im Laufe dieses Buchs kennenlernen.

Die Datenbank-Beispiele sind so gewählt, dass sie mit möglichst wenigen Dateien durchgeführt werden können. Das erspart Ihnen das Abtippen immer neuer Beispiele und zeigt sehr gut das sinnvolle Zusammenspiel verschiedener Prozeduren. Die Informationen sind dabei selbstverständlich immer so aufbereitet, dass sie in einem konkreten Bezug zu dem jeweiligen Projekt oder der aktuellen Aufgabe stehen, um die Praxisnähe der vermittelten Kenntnisse zu gewährleisten.

Recht typisch ist es dabei für Access, dass zu einem Thema auch Techniken aus verschiedenen Bereichen eingesetzt werden müssen. Ich werde also immer wieder auf bereits besprochene Themen zurückgreifen, diese für eine neue Aufgabe noch einmal vertiefen und dabei so abwandeln, dass Sie wieder einen neuen Aspekt oder eine Verbesserung darin entdecken. Gelegentlich wird es sich auch nicht vermeiden lassen, Themen anzureißen, deren detaillierte Erläuterung erst in einem späteren Kapitel folgt. Dafür sehen Sie in einem solchen Zusammenhang dann schon vorausschauend viel besser, wofür die jeweilige Technik geeignet ist.

Auch und gerade bei der VBA-Programmierung zeichnet sich eine gute Lösung gelegentlich sogar dadurch aus, dass bewusst auf den Einsatz von VBA verzichtet und stattdessen auf bereits eingebaute Access-Fähigkeiten zurückgegriffen wird. Schließlich möchte ich Ihnen nicht Programmierung um ihrer selbst willen zeigen, sondern als Werkzeug für effektive Lösungen. Gerade das zeigt aber die Leistungsfähigkeit von Access, indem es für alle Aufgabenstellungen immer auch eine Lösung gibt, meistens sogar eine leichtere als Sie denken. Dieses Buch wird Ihnen helfen, solche Lösungen zu finden.

Dieses Buch geht davon aus, dass Sie sich mit der Datenmodellierung und der grundsätzlichen Bedienung von Access 2013 auskennen.

Ausführliche Informationen zu diesen Themen finden Sie im Buch »Desktop- und Web-Datenbanken entwickeln mit Access 2013«, das ebenfalls bei Microsoft Press erschienen ist. Als kleine Leseprobe steht Ihnen das Kapitel »Grundlagen des Datenbankdesigns« kostenlos als Download zur Verfügung.

Die Datei finden Sie unter

www.microsoft-press.de/support/9783866452251

oder

msp.oreilly.de/support/2359/787

Die Beispieldatenbank

Für fast alle Beispiele in diesem Buch werde ich auf zwei Datenbanken (Grundlagen.accdb und Umbuchung.accdb) zurückgreifen, die Sie selbstverständlich auch downloaden können. Sie sind so angelegt, dass möglichst wenig Schreibarbeit notwendig ist, auch wenn sich eine gewisse Komplexität natürlich nicht vermeiden lässt. Schließlich ist die VBA-Programmierung ja gerade dann nötig, wenn Sie über die normalen Möglichkeiten einer Access 2013-Datenbank hinausgehen wollen.

Die Beispieldatenbank – und alle anderen Beispielprojekte – finden Sie unter

www.microsoft-press.de/support/9783866452251

und

msp.oreilly.de/support/2359/787

Die hier eingesetzte Datenbank Umbuchung.accdb steht für einen fiktiven Online-Shop namens »Umbuchung«, in dem gebrauchte und insbesondere antiquarische Bücher gehandelt werden können. Dabei tritt nicht nur der Shop-Betreiber als Verkäufer auf, sondern die Käufer können sich ebenso selbst als Verkäufer eintragen und eigene Bücher anbieten.

Das Konzept hat durchaus Ähnlichkeiten mit Teilen von Amazon.de oder eBay, allerdings geht es hier gerade nicht um die Internet-Anbindung des Beispiels. Natürlich wäre das technisch möglich, aber ich möchte Ihnen ja die Access-Möglichkeiten zeigen. Nehmen wir also an, dass ein Verbund aus Buchhändlern und interessierten Fachleuten etwa aus dem Universitätsbereich direkten Zugriff auf diese Datenbank hat.

Beschreibung der Datenbank

Die Aufgaben des Systems lassen sich recht einfach beschreiben:

Einzelne Benutzer müssen sich eintragen können und ihre Stammdaten als Käufer und/oder Verkäufer hinterlegen können

Zu jedem Benutzer müssen mehrere Adressen gespeichert werden, weil sich Rechnungs- und Lieferadresse unterscheiden können. Auch die Angabe weiterer Adressen für Geschenklieferungen ist damit möglich.

Auf einer Bestellung (im Internet meistens als Warenkorb bezeichnet) werden beliebig viele Artikel gesammelt, bestätigt und deren Lieferstatus verfolgt

Benutzer ohne vollständige Verkäufer-Daten dürfen keine Artikel zum Verkauf anbieten. Benutzer ohne Käufer-Daten dürfen zwar Artikel auf einer Bestellung sammeln, aber noch nicht bestätigen. Daher ist es wichtig, den Status zu unterscheiden.

Da bei Remittenden (an den Verlag zurückgelieferte Bücher) für den Verkäufer die Möglichkeit besteht, weitere Exemplare nachzuordern, kann hier ein Mindestbestand angegeben werden, ab dem nachbestellt wird

Für jede Bestellung muss die Datenbank prüfen, ob die vorhandene Lagermenge ausreicht oder nötigenfalls weniger Exemplare geliefert werden

Auch Bücher verkaufen sich besser mit Fotos. Damit diese die Datenbank nicht unnötig aufblähen, sollen sie in einem Verzeichnis abgelegt und bei Bedarf nachgeladen werden, sodass auch mehrere Angebote das gleiche Foto benutzen können. Falls kein Foto vorhanden ist, soll wenigstens ein Standardbild erscheinen.

Alle Formulare sollen sinnvoll untereinander verknüpft sein, damit ein Benutzer beispielsweise vom Artikelformular direkt zu den Stammdaten genau dieses Verkäufers gelangt

Natürlich ist manches davon mit den umfangreichen Fähigkeiten von Access 2013 bereits ohne Programmierung lösbar. Aber VBA wird die Leistungsfähigkeit und Bedienungsfreundlichkeit einer solchen Datenbank erheblich verbessern und an manchen Stellen überhaupt erst sicherstellen.

Datenbank-Modell

Das Datenbank-Modell des Beispiels sieht aus wie in Abbildung 1.1. Dabei enthalten alle Feldnamen in leichter Abwandlung der Ungarischen Notation (siehe Kapitel 3) ein dreibuchstabiges Präfix für ihren jeweiligen Tabellennamen. Dadurch sind sie datenbankweit eindeutig und unproblematisch zu benutzen.

Wenn Sie wie hier die Master-Tabellen (die 1er-Seiten der 1:n-Beziehungen) höher als die Detail-Tabellen (die n-Seiten) anordnen, werden die problematischen Tabellen schnell deutlich. Je tiefer eine Tabelle in diesem Modell ist, desto mehr Daten enthält sie. Daher müssen Sie sich dort viel intensiver mit Zugriffsgeschwindigkeiten und Platzverbrauch beschäftigen.

Abbildung 1.1 Das Tabellen-Modell der Beispieldatenbank Umbuchung.accdb

Das Modell ist sicherlich einfacher zu verstehen, wenn wir es einmal gemeinsam betrachten:

Die Tabelle tblKunden enthält die Liste aller Käufer und Verkäufer, allerdings nur mit minimalem Dateninhalt. Zu der eindeutigen ID gibt es ein paar Angaben über Konto und E-Mail, die im wirklichen Leben sicherlich ausführlicher gestaltet wären. Außerdem kann jeder Kunde verschiedene Funktionen annehmen: als (nicht komplett angemeldeter) Interessent, nur Käufer, nur Verkäufer oder beides.

Die Adresse ist ausdrücklich nicht Bestandteil eines Kunden-Datensatzes, weil dieser ja mehrere Adressen nennen darf. In tblTypen stehen verschiedene Arten von Adressen wie Lieferadresse oder Rechnungsadresse.

Die Tabelle tblAdressen enthält alle Adressen mit jeweils dem Verweis auf die eindeutige Kennung kndID des Kunden und typID des Adressen-Typs

Nicht vom Kunden, sondern erst von einer (Liefer-)Adresse ausgehend kann eine Bestellung in tblBestellungen angelegt werden. Damit ist wegen der Beziehungen sowohl deren Zieladresse als eben auch deren Empfänger klar. Ebenfalls zur Bestellung gehört die Rechnungsadresse, die identisch sein kann, aber nicht muss.

Um den Fortschritt der Bestellung und der späteren Lieferung verfolgen zu können, enthält die Tabelle tblBestellungen mehrere Datumsfelder für die verschiedenen Stadien, die eine Bestellung durchlaufen kann. Um das Datenmodell einfach zu halten, wird die Bestellung grundsätzlich nur als Ganzes abgewickelt, Teillieferungen oder die Rückgabe einzelner Artikel sollen hier nicht abgebildet werden.

Jede Bestellung enthält in tblBestellungenDetails eine beliebige Anzahl zu liefernder Artikel mit einer Bestellmenge und (wenn nicht ausreichend Exemplare lieferbar waren) einer davon eventuell abweichenden Liefermenge

Die Auswahl für diese Bestell-Details basiert auf tblArtikel mit den Angaben zu den Büchern. Dort stehen sowohl konkrete Informationen zu den angebotenen Exemplaren als auch der Verweis auf den Verkäufer. Dieser wiederum kommt aus der Tabelle tblKunden.

Diese Hinweise sollten für ein erstes Verständnis der Beispieldatenbank ausreichen. Konkretere Angaben werde ich nachreichen, wenn es für den jeweiligen Programmcode notwendig ist.

Sollte Ihnen jetzt der Kopf rauchen, dann machen Sie sich keine Sorgen. Access 2013 bleibt trotz aller Komplexität auch für schwierigste Aufgaben ein einfach und übersichtlich zu bedienendes Programm.

1.2 Wie Sie am besten mit diesem Buch arbeiten

Dieses Buch macht Sie mit der Entwicklung von VBA in einer Access 2013-Datenbank vertraut – Das geht leichter, als Sie denken. In kurzer Zeit werden Sie über das nötige Know-how verfügen, um ansprechende Ergebnisse zu erzielen. Zugleich erwerben Sie das entsprechende Know-why, das heißt, Sie erfahren immer auch, warum etwas in einer bestimmten Weise funktioniert.

Aufbau des Buchs

Ein VBA-Programm versucht, genau wie eine Datenbank, einen Ausschnitt der Wirklichkeit abzubilden. Dabei muss es natürlich vereinfachen und abstrahieren, aber genau das hilft oftmals, ein Problem klarer zu formulieren. Sobald Sie die Frage richtig stellen, liegt die Antwort meistens schon bereit, denn der schwierigste Teil besteht darin, die Frage, also das Problem, zu präzisieren.

Im Laufe des Buchs zeige ich Ihnen Methoden und Techniken, mit denen Sie die richtigen Fragen zu stellen lernen und damit die meisten Klippen einer Code-Entwicklung schon umschifft haben. Das ist schließlich keine Geheimwissenschaft, sondern ein ganz solides Handwerk, welches sich mit ein wenig Unterstützung lernen lässt.

Diesem Ansatz folgend ist das Buch in vier Teile untergliedert, die Sie am besten von vorne nach hinten lesen und durcharbeiten, da die Informationen der einzelnen Kapitel aufeinander aufbauen.

Teil I enthält diese Einleitung mit der Erläuterung der Beispieldatenbank und zeigt Ihnen vor allem, welche Möglichkeiten Access-VBA bietet.

Teil II stellt Ihnen an vielen praktischen Beispielen die grundlegenden Sprachelemente und Konzepte von VBA vor. Sie werden hier bestimmt auch dann Neues entdecken, wenn Sie schon in einer anderen Sprache programmiert haben.

Teil III beschäftigt sich mit dem Lesen und Schreiben von Daten in Datenbanken. Hier werde ich Ihnen verschiedene Alternativen des Datenzugriffs vorstellen, damit Sie sehen, wie Sie zu Ihrer Aufgabe die passende Prozedur erstellen. Dabei geht es nicht nur um den Zugriff auf die Tabellen und Abfragen einer Datenbank, sondern auch auf die Daten in Formularen oder Berichten.

Teil IV nennt schließlich Optimierungen für Ihre Datenbank, die bei den vorherigen Themen noch nicht zur Sprache kamen. Das umfasst sowohl Anpassungen des Menübands und eigene Tastenkürzel als auch die Nutzung externer Funktionen, um die Leistungsfähigkeit Ihrer Datenbank zu verbessern.

Alle Adressen oder Namen von Personen, Buchtiteln und Firmen sind selbstverständlich völlig frei erfunden.

Die Icons

Hin und wieder empfiehlt es sich, bestimmte Informationen in eigenen Absätzen auszuzeichnen.

Wichtig

Der Textmarker weist Sie auf etwas hin, worauf Sie unbedingt achten sollten.

Tipp

Hier erfahren Sie, wie Sie etwas besonders einfach und elegant erledigen können.

Hintergrund

Absätze mit diesem Icon geben Ihnen wichtige Hintergrundinformationen und erklären, warum etwas in einer bestimmten Weise funktioniert.

Unterstützung für dieses Buch

Der Verlag hat auch von seiner Seite alles unternommen, um die Richtigkeit des Buchinhalts und des Bonusmaterials sicherzustellen. Etwaige Korrekturen und Änderungen finden Sie unter folgender Adresse:

http://www.microsoft-press.de/support.asp

Tragen Sie dazu in das untere der beiden Eingabefelder für die ISBN-Nummer die Ziffern 225 ein und klicken Sie dann auf Suchen.

Wenn Sie Kommentare, Fragen oder Anregungen zum Inhalt dieses Buchs oder des Begleitmaterials haben, senden Sie eine E-Mail an folgende Adresse bei Microsoft Press:

[email protected]

oder per Post an

Microsoft Press

Konrad-Zuse-Str. 1

85716 Unterschleißheim

Beachten Sie, dass Microsoft Press unter diesen Adressen keinen Support für Softwareprodukte leistet.

Genug der Vorrede und hinein ins Vergnügen

Viel Spaß beim Entwickeln Ihrer Datenbanken wünscht Ihnen

Lorenz Hölscher

Teil II. Grundlagen von VBA

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!