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]: 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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

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.

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

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

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

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