PDF erstellen mit Access im Detail
Das Erstellen von PDF-Dateien mit Access ist eine wichtige Technik, denn viele Daten sollen einmal über einen Bericht in eine PDF-Datei exportiert werden. Das Paradebeispiel dafür sind Angebote, Aufträge, Rechnungen et cetera, also alles, was mit der Verarbeitung und Abrechnung eines Kaufs oder eines Projekts zusammenhängt. Aber es gibt auch andere Anwendungszwecke. In diesem Beitrag schauen wir uns die verschieden nativen Möglichkeiten von Access zum Erstellen von PDF-Dokumenten an und gehen dabei auch auf Spezialitäten wie das Format PDF/A ein und wie wir Dokumente in diesem Format erstellen können. Es ist nicht schon immer selbstverständlich, dass wir dies mit Access erledigen können – lange waren dafür spezielle PDF-Druckertreiber von Drittherstellern oder andere Tricks nötig. Seit einiger Zeit jedoch lässt sich dies mit dem integrierten Druckertreiber erledigen.
PDF per VBA erstellen im Detail
Im Beitrag »PDF erstellen mit Access im Detail« (www.access-im-unternehmen.de/1523) haben wir uns bereits angesehen, wie wir PDF-Dokumente über die Benutzeroberfläche erstellen können. Typischerweise möchte man einem Benutzer allerdings nicht die Aufgabe überlassen, einen Bericht zu öffnen und dann die entsprechenden Schaltflächen im Ribbon aufzurufen, um den Bericht als PDF-Dokument zu speichern. Dazu stellen wir einen eigenen Button zur Verfügung, mit dem wir den Bericht direkt als PDF speichern. Es fehlt also nur noch der passende VBA-Befehl. In diesem Beitrag schauen wir uns an, wie dieser lautet und welche Alternativen es gibt. Außerdem werfen wir einen Blick darauf, wie wir Dokumente im PDF/A-Format erzeugen. Während wir dazu über die Benutzerfläche lediglich eine Option im Dateiauswahl-Dialog aktivieren mussten, ist der Aufwand unter VBA bereits deutlich höher. Aber immerhin ist dieser nur einmalig durchzuführen, weshalb wir gern darauf eingehen.
Access-Frontend automatisch aktualisieren
Wenn man allein mit einer Access-Anwendung arbeitet, die man währenddessen weiterentwickelt, ist man immer auf dem aktuellsten Stand. Wer eine Anwendung auf die Arbeitsplätze seiner eigenen Mitarbeiter oder sogar die der Mitarbeiter eines Kunden installiert hat, muss schon ein wenig Aufwand betreiben, wenn jeder immer die aktuellste Version der Anwendung vorfinden soll. Die alte Version muss entfernt und die neue installiert werden. Hier kann man die Benutzer informieren, sodass diese die notwendigen Schritte manuell durchführen oder man erledigt dies selbst. Praktischer wäre es jedoch, wenn die Anwendung selbst erkennen würde, wenn es eine neue Version gibt, und dann selbstständig ein Update durchführt. Das geht natürlich nicht, weil sie sich nicht selbst löschen und durch eine neue Version ersetzen kann, während sie läuft. Also benötigen wir einen kleinen Workaround: Wir stellen dem Öffnen der eigentlichen Anwendung eine weitere Access-Anwendung voran, die auf Updates prüft und diese durchführt und erst dann die eigentliche Anwendung aufruft. Alle notwendigen Schritte erläutern wir in diesem Beitrag.
Gespeicherte Importe und Exporte verwalten
Microsoft Access bietet die Möglichkeit, nach Abschluss eines Imports oder Exports die Importschritte oder Exportschritte zu speichern. Dazu erscheint ein Dialog, in dem man wenige Parameter eingestellt werden können. Diese gespeicherten Importe und Exporte kann man anschließend wiederholen, indem man diese über einen entsprechenden Dialog auswählt. Wir wollen uns in diesem Beitrag einmal ansehen, was hier überhaupt geschieht, wo die Daten gespeichert werden und wie wir diese gegebenenfalls anpassen können, ohne dass wir den Import oder Export erneut durchführen müssen, um die geänderte Konfiguration zu erhalten. Und wie sich zeigen wird, gibt es sogar eine Erweiterung des Objektmodells von VBA zu diesem Zweck, das wir uns genau ansehen werden.
VBA-Projekte mit digitalem Zertifikat signieren
Das Signieren von VBA-Projekten ist ein 2024 erneut eingeführter Sicherheitsprozess, bei dem wir ein VBA-Projekt mit einem digitalen Zertifikat versehen. Dieses Zertifikat bestätigt, dass der Code von uns stammt und seit der Signierung nicht verändert wurde. Das Signieren ist besonders wichtig, wenn VBA-Makros in sensiblen oder gemeinsam genutzten Umgebungen ausgeführt werden, zum Beispiel in Unternehmensnetzwerken. In diesem Beitrag schauen wir uns an, welche Arten von Zertifikaten es gibt, wie diese funktionieren und wie wir ein VBA-Projekt mit einer digitalen Zertifikat versehen können. Außerdem betrachten wir, ob das signieren mit einem Zertifikat überhaupt sinnvoll ist.
Übersichtsformular per Mausklick
Manche Aufgaben im Alltag eines Access-Entwicklers wiederholen sich immer wieder und unterscheiden sich nur durch Kleinigkeiten. Zum Beispiel sehen Detailformulare, Übersichtsformulare oder auch Formulare zum Verwalten von Daten in Haupt- und Unterformular immer gleich aus – wenn auch für andere Daten. Im Beitrag »Tabellendaten mit Übersicht und Details anzeigen« (www.access-im-unternehmen.de/1488) haben wir grundsätzlich gezeigt, wie wir ein Hauptformular mit einer Übersicht in einem Unterformular anlegen und programmieren können. Der Beitrag »Detailformular per Mausklick erstellen« (www.access-im-unternehmen.de/1490) wiederum liefert ein Beispiel dafür, wie wir ein einfaches Detailformular schnell definieren und per Mausklick erstellen können. Im vorliegenden Beitrag wollen wir beides kombinieren – also ein Übersichtsformular mit Haupt- und Unterformular in einem Konfigurationsformular einrichten und dann automatisch erstellen.
Add-In für Übersichtsformulare im Einsatz
Im Beitrag »Übersichtsformular per Mausklick« (www.access-im-unternehmen.de/1528) haben wir gezeigt, wie Sie ein Access-Add-In programmieren können, mit dem wir Übersichtsformulare auf Basis von Tabellen oder Abfragen schnell erstellen können. In diesem Beitrag schauen wir uns nun an, wie wir dieses optimal nutzen können, um schnell die gewünschten Übersichtsformulare zu erstellen. Dabei werfen wir auch einen Blick auf die zu erstellenden VBA-Prozeduren für die Schaltflächen und das Suchfeld, das wir optional zu diesem Formular hinzufügen können.