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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

VBA [basics]: Fehlerbehandlung mit VBA

Auch bei sorgfältig geschriebenem Code lassen sich Laufzeitfehler nicht vollständig vermeiden. Dateien fehlen, Daten sind unerwartet leer oder Benutzer führen Aktionen in einer anderen Reihenfolge aus als vorgesehen. Damit solche Situationen nicht zum Abbruch der Anwendung führen, stellt VBA verschiedene Mechanismen zur Fehlerbehandlung bereit. In diesem Artikel lernst Du die grundlegenden Techniken der Fehlerbehandlung kennen und erfährst, wie Du sie sinnvoll und strukturiert in Deinen Prozeduren einsetzt.

Weiterlesen

Abfragen [basics]: Verknüpfte und unverknüpfte Tabellen gezielt nutzen

Abfragen sind nicht darauf beschränkt, nur Felder aus einer Tabelle auszugeben oder nach Feldern aus einer Tabelle zu sortieren oder zu filtern. Wir können auch mehrere Tabellen in einer Abfrage zusammenfassen und die Daten dieser Tabellen ausgeben, filtern und sortieren. Dabei gibt es verschiedene Möglichkeiten: Wir können alle Kombinationen aus Daten verschiedener Tabellen ausgeben, wir können nur die verknüpften Datensätze von Tabellen liefern oder auch die Daten einer Tabelle liefern – unabhängig davon, ob in der verknüpften Tabelle auch verknüpfte Datensätze zur ersten Tabelle vorhanden sind. All diese Techniken schauen wir uns im vorliegenden Artikel an.

Weiterlesen

VBA [basics]: Warum Option Explicit wichtig ist

Bei unseren Access-Audits, wo wir uns die Datenbanken der Kunden immer genau anschauen, fällt uns eines immer wieder auf: Kaum jemand verwendet die Compiler-Direktive Option Explicit. Die meisten wissen noch nicht einmal, wofür diese gut ist. Dabei kann das Weglassen dieser Schlüsselwörter zu großen Problem in Deiner Anwendung führen. Welche das sind und wie Du das Problem löst, zeigen wir in diesem Artikel.

Weiterlesen

Formulare [basics]: Abhängige Comboboxen

Ein regelmäßig nachgefragtes Problem ist das der abhängigen Kombinationsfelder. Das bedeutet, dass man für eine Haupttabelle, zum Beispiel zum Verwalten von Fahrzeugen, zwei verknüpfte Tabellen hat, in denen die Hersteller und die Modelle gespeichert werden. Die Tabelle mit den Modellen ist wiederum über ein Fremdschlüsselfeld mit der Tabelle der Hersteller verknüpft. Auf diese Weise könnten wir in einem Formular nach der Auswahl eines Herstellers für ein Fahrzeug über ein Kombinationsfeld in einem weiteren Kombinationsfeld nur noch die Einträge der Tabelle tblModelle anzeigen lassen, die von diesem Hersteller angeboten werden. In diesem Artikel zeigen wir, welche Schritte notwendig sind, um dieses abhängige Kombinationsfeld immer mit den korrekten Daten zu füllen.

Weiterlesen

Formulare [basics]: Lookup-Beziehungen mit Combobox

Kombinationsfelder sind ein wichtiges Steuerelement für die Auswahl von Daten in Formularen. Wir können diese zwar auch mit benutzerdefinierten Werten aus einer Liste füllen, aber im Kontext der Bearbeitung von Daten aus Tabellen oder Abfragen in einem Formular wollen wir damit zum Beispiel verknüpfte Daten aus Lookuptabellen auswählen können. In unserer Beispieldatenbank Bücherverwaltung finden wir gleich mehrere solcher Konstellationen, etwa die Kategorie und das Genre eines Buchs. Wie man in einem Formular zum Bearbeiten von Büchern Kombinationsfelder einrichtet, mit denen wir die Einträge aus Tabellen wie tblKategorien und tblGenres auswählen können, sodass diese den Büchern dauerhaft zugeordnet sind, zeigen wir in diesem Artikel.

Weiterlesen

VBA [basics]: Debuggen im VBA-Editor

Eines Tages passiert es jedem: Der Code kompiliert nicht, Access meldet einen Laufzeitfehler oder das Ergebnis ist schlicht falsch. Genau hier kommt das Debugging ins Spiel. Unter Debugging versteht man alle Techniken, mit denen Du Fehler im VBA-Code gezielt aufspüren, analysieren und beheben kannst. Dieser Artikel richtet sich an Einsteiger und zeigt Dir die wichtigsten Debugging-Möglichkeiten, die direkt im VBA-Editor zur Verfügung stehen.

Weiterlesen

Berichte [basics]: Berichte per VBA öffnen

Der Access-Poweruser öffnet seine Berichte einfach durch einen Doppelklick auf den jeweiligen Eintrag im Navigationsbereich. Wenn er den Bericht nach bestimmten Daten filtern möchte, kann er dies durch das Definieren von Parametern in der Datensatzquelle des Berichts erledigen und die Parameter beim Öffnen eingeben. Einen Schritt weiter gehen wir, wenn wir die Kriterien für den Bericht per Formular festlegen und diese in der Abfrage des Berichts referenzieren. Das ist aber immer noch recht unflexibel. Wenn der Bericht nach beliebigen Kriterien gefiltert werden und dieser über eine Schaltfläche geöffnet werden soll, die der Benutzer über ein Formular definiert, können wir dazu VBA nutzen. Wie das gelingt, zeigen wir in den folgenden Abschnitten.

Weiterlesen