Registrierte Abonnenten finden an dieser Stelle den Download der kompletten Ausgabe im PDF-Format und die Beispieldateien.
Berichte [basics]: Bericht als PDF speichern
Einen Bericht als PDF-Datei zu speichern gehört in vielen Access-Anwendungen zum Alltag: Rechnungen, Lieferscheine, Auswertungen – all das lässt sich direkt aus Access heraus als PDF exportieren und per E-Mail versenden oder archivieren. Access bietet dafür gleich mehrere Wege: über die Benutzeroberfläche für den schnellen Export von Hand, und über VBA für den automatisierten Einsatz. In diesem Artikel zeigen wir beide Varianten und gehen besonders auf den VBA-Weg ein, der auch das Filtern des Berichts vor dem Export erlaubt.
VBA [basics]: Variablen und Datentypen
Wer mit VBA programmiert, kommt nicht weit, ohne das Konzept der Variablen zu verstehen. Variablen sind gewissermaßen der Arbeitsspeicher eines Programms: Sie nehmen Werte zwischenzeitlich auf, damit wir damit rechnen, sie vergleichen oder weitergeben können. Und damit VBA weiß, was für eine Art von Wert in einer Variablen landet – eine Zahl, ein Text, ein Datum –, gibt es die Datentypen. Wer die falschen Datentypen wählt, riskiert subtile Fehler, die manchmal erst beim Kunden auftauchen. Wer sie richtig einsetzt, schreibt stabileren und schnelleren Code. In diesem Artikel zeigen wir, wie Variablen deklariert werden, welche Datentypen es gibt und wann man welchen verwendet.
VBA [basics]: Bedingungen mit If und Select Case
Programme, die immer nur stur von oben nach unten durchlaufen, sind selten nützlich. Erst wenn Code auf unterschiedliche Situationen unterschiedlich reagieren kann, wird er wirklich brauchbar. Genau dafür sind Bedingungen da: Sie ermöglichen es, den Programmfluss abhängig von Werten und Zuständen in verschiedene Richtungen zu lenken. In VBA stehen dafür zwei Konstrukte zur Verfügung – das If…Then…Else-Konstrukt für einfache bis mittlere Verzweigungen und Select Case für Situationen, in denen man einen Wert gegen viele mögliche Ausprägungen prüfen möchte. In diesem Artikel zeigen wir, wie beide funktionieren, wann man welches einsetzt und worauf man dabei achten sollte.
VBA [basics]: Schleifen mit For, Do und While
Einer der größten Vorteile von Programmcode gegenüber manueller Arbeit ist die Fähigkeit, eine Aufgabe beliebig oft zu wiederholen – ohne Ermüdung, ohne Fehler durch Unachtsamkeit und in Sekundenbruchteilen. Genau dafür gibt es Schleifen. In VBA stehen dafür mehrere Konstrukte zur Verfügung: For…Next für Situationen, in denen man genau weiß, wie oft etwas wiederholt werden soll, For Each…Next zum Durchlaufen von Auflistungen, sowie Do…Loop und While…Wend für Fälle, in denen die Anzahl der Durchläufe vorab nicht bekannt ist. In diesem Artikel zeigen wir, wie alle diese Konstrukte funktionieren, wo ihre Stärken liegen und worauf man achten muss.
VBA [basics]: Eigene Funktionen und Prozeduren
Wer VBA-Code schreibt, merkt schnell: Bestimmte Abläufe wiederholen sich. Man prüft an drei verschiedenen Stellen, ob ein Textfeld leer ist. Man berechnet denselben Wert an zwei verschiedenen Stellen. Man kopiert Code – und wenn sich etwas ändert, muss man es an drei Stellen korrigieren, und vergisst garantiert eine. Die Lösung dafür sind eigene Prozeduren und Funktionen: wiederverwendbare Codebausteine, die man einmal schreibt und beliebig oft aufruft. In diesem Artikel zeigen wir, wie man sie erstellt, wie man Werte übergibt und zurückbekommt und wie man Code damit sauber strukturiert.
VBA [basics]: Fehlerbehandlung mit MZ-Tools
Im Artikel VBA [basics]: Fehlerbehandlung mit VBA (www.access-basics.de/703) haben wir grundlegend erläutert, wie Fehlerbehandlung in Access funktioniert, im Artikel VBA [basics]: Laufzeitfehler protokollieren (www.access-basics.de/705) haben wir gezeigt, wie man diese Fehler in einer Protokolltabelle verewigen kann. Im vorliegen Artikel wollen wir uns nun ansehen, wie wir die dort beschriebenen Techniken mit so wenig Aufwand wie möglich in unseren Code implementieren. Wenn wir es perfekt machen wollen, müssen wir immerhin alle Zeilen mit Zeilennummern versehen, außerdem sollte jede einzelne Prozedur mit einer Fehlerbehandlungsroutine versehen werden. Da dies Schritte enthält, die immer wieder wiederholt werden müssen, haben wir zwei Möglichkeiten: Entweder wir programmieren uns selbst eine Lösung, mti der wir diese Schritte durchführen können, oder wir nutzen eine bestehende Lösung, die wir für wenig Geld bekommen. In diese Fall schauen wir uns letztere Variante an und zeigen, wie wir die MZ-Tools zum Integrieren einer Fehlerbehandlung nutzen können.
VBA [basics]: Laufzeitfehler protokollieren
Im Artikel VBA [basics]: Fehlerbehandlung mit VBA (www.access-basics.de/703) haben wir gezeigt, wie die Behandlung von Laufzeitfehlern grundsätzlich funktioniert. Darauf aufbauend zeigen wir im vorliegenden Artikel, wie Du die Fehler, die bei einer Anwendung auftreten, in einer Log-Tabelle protokollieren kannst. Dabei speichern wir Fehlerinformationen wie die Fehlernummer, die Beschreibung, die Nummer der fehlerhaften Zeile, das Modul und die Prozedur, in dem der Fehler aufgetreten ist. Das ist vor allem hilfreich, wenn Deine Anwendung von Deinen Kunden oder Mitarbeitern verwendet wird und Du beim Auftreten eines Fehlers Informationen zu diesem Fehler benötigst, ohne dass der Benutzer Dir diese umständlich in eine E-Mail schreiben oder auf eine andere Weise mitteilen muss.
![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)