15 Fehler finden und behandeln

Größe: px
Ab Seite anzeigen:

Download "15 Fehler finden und behandeln"

Transkript

1 15 Fehler finden und behandeln»a chi ha fortuna il bue gli porta un vitello. Wer Glück hat, dem macht der Ochse ein Kalb.«Und wer Pech hat, macht einen Fehler! Damit Sie durch kleine Fehler nicht in's große Unglück gestürzt werden, gibt es für die VBA-Programmierung eine ganze Reihe von Möglichkeiten zur Fehlersuche und -behandlung. Ich möchte Ihnen in diesem Kapitel Programmkomponenten, Verfahren und Programmiertechniken beschreiben, die Ihnen bei der Vermeidung von Programmfehlern helfen sollen Fehlerarten Grundsätzlich lassen sich drei Arten von Fehlern unterscheiden: Fehler beim Kompilieren Fehler in Programmen, die durch falsch geschriebene oder angewendete Befehle entstehen, werden bei der Ausführung der Programme entdeckt. Mit dem Befehl DEBUGGEN/KOMPILIEREN VON CASA MARIA können Sie auch eine Überprüfung von Hand starten. Zudem werden Sie durch die automatische Syntaxüberprüfung während der Programmeingabe auf offensichtliche Schreibfehler sofort hingewiesen. Laufzeitfehler Treten während des Ablaufs eines Programms Fehler oder ungültige Operationen auf, die zum Abbruch des Programms führen, wird ein Laufzeitfehler (run-time error) ausgelöst. Haben Sie in Ihrem Programm keine eigene Fehlerbehandlung programmiert, so wie ich es am Ende des Kapitels beschreibe, wird das Programm mit einer Fehlermeldung angehalten. 208 Kapitel 15: Fehler finden und behandeln

2 Laufzeitfehler treten beispielsweise auf, wenn im Programm der Wertebereich einer Variablen überschritten wird. Wird einer Variablen vom Typ Integer der Wert zugewiesen, tritt ein Laufzeitfehler auf, denn Integer-Variablen können nur Werte zwischen und enthalten. Ein weiterer, häufig auftretender Fehler ist die Division durch Null. Sie erhalten einen solchen Fehler, wenn im Befehl dblergebnis = dblzahl1 / dblzahl2 die Variable dblzahl2 den Wert 0 aufweist. Logische Programmfehler Die unangenehmsten und am schwierigsten auffindbaren Fehler sind logische Programmfehler. Bei solchen Fehlern ist das Programm äußerlich, also syntaktisch, korrekt, aber Fehler in der Programmlogik führen zu falschen Ergebnissen. Nur durch ausführliches Testen können Sie Ihr Programm von logischen Programmfehlern befreien Der Debugger zur Fehlersuche Für die Fehlersuche bietet Ihnen Access einen Debugger an. Ein Debugger ermöglicht die schrittweise Abarbeitung eines Programms und die Kontrolle von Zwischenständen, um Ihren Fehlern auf die Spur zu kommen. Für die Vorstellung der Debugging-Möglichkeiten verwende ich eine Routine, die die Summe der Werte eines Feldes (Array) ermittelt. Dazu habe ich das folgende einfache Formular frmfehlersuche erstellt. Bild 15.1: Testformular 15.2 Der Debugger zur Fehlersuche 209

3 Damit Sie meine Fehlersuchbemühungen besser nachvollziehen können, habe ich das Listing der Ereignisprozedur Sub cmdtest_click abgedruckt. Option Compare Database Option Explicit Private Sub cmdtest_click() Dim varwerte As Variant, intzähler As Integer Dim strtext As String End Sub intzähler = 0 Do varwerte = Array("Stadt ", "Land ", "Fluss ", _ "Name ", "Tier ", "Beruf ") strtext = strtext & varwerte(intzähler) intzähler = intzähler + 1 Loop Until intzähler > 6 MsgBox strtext Die Prozedur cmdtest_click erzeugt einen Laufzeitfehler, da die Do...Loop-Schleife nicht rechtzeitig abbricht. Der Index eines Arrays beginnt mit 0. Die Prozedur versucht in der Schleife auf var- Werte(6) zuzugreifen, da die Abbruchbedingung erst gültig wird, wenn intzähler den Wert 7 hat. Das führt zur folgenden Fehlermeldung, da bei sechs Werten im Array nur die Elemente 0 bis 5 existieren und angesprochen werden können. Bild 15.2: Fehlermeldung eines Laufzeitfehlers Klicken Sie im Dialogfeld, das den Laufzeitfehler anzeigt, auf die Schaltfläche DEBUGGEN, wird es geschlossen und die Zeile, die den Fehler ausgelöst hat, wird im Code-Fenster farbig dargestellt. 210 Kapitel 15: Fehler finden und behandeln

4 Bild 15.3: Unterlegte aktuelle Programmzeile Übrigens können Sie den obigen Fehler leicht umgehen, indem Sie als Abbruchbedingung Loop Until intzähler > UBound(varWerte) angeben. Die Funktion UBound() (Upper Bound) ermittelt die obere Grenze eines Feldes. Mit LBound() (Lower Bound) beziehen Sie sich auf die untere Grenze, die im Normalfall 0 ist. Verwenden Sie UBound(), so arbeitet Ihr Programm auch dann richtig, wenn Sie Elemente zum varwerte-feld hinzufügen oder wegnehmen. In der DEBUGGEN-Symbolleiste stehen Ihnen eine Reihe von Schaltflächen zur Verfügung, mit denen Sie den Debugger zur Fehlersuche bedienen können. Sie aktivieren die Symbolleiste mit ANSICHT SYMBOLLEISTEN DEBUGGEN Der Debugger zur Fehlersuche 211

5 Die DEBUGGEN-Symbolleiste bietet Ihnen neben dem bekannten Entwurfsmodus-Symbol die folgenden Schaltflächen: Tabelle 15.1: Die Schaltflächen der Symbolleiste DEBUGGEN Schaltfläche Name Bedeutung Sub/UserForm ausführen (Fortsetzen) Unterbrechen Programm weiter fortführen Programm anhalten Zurücksetzen Haltepunkt ein/aus Einzelschritt Prozedurschritt Prozedur abschließen Lokal-Fenster Direktfenster Überwachungsfenster Aktuellen Wert anzeigen Aufrufeliste Programm abbrechen Haltepunkt setzen bzw. entfernen Nächsten Befehl abarbeiten Nächste Prozedur abarbeiten Nächsten Befehl in vorhergehender Prozedur abarbeiten Lokal-Fenster einblenden Direktfenster einblenden Überwachungsfenster einblenden Aktuellen Wert der markierten Variablen zeigen Liste der durchlaufenen Unterprogramme zeigen Programmänderungen im Debug-Modus Es ist möglich, dass Sie Ihr Programm ändern, während es im Debug-Modus abläuft. So kann beispielsweise eine fehlerhafte Programmzeile direkt berichtigt werden und das Programm danach weiterlaufen. 212 Kapitel 15: Fehler finden und behandeln

6 Endlosschleife Manchmal passiert es, dass das Programm in einer Endlosschleife kreist. Wenn Sie beispielsweise aus dem Programm den Befehl intzähler = intzähler + 1 entfernen, entsteht eine Endlosschleife. Mithilfe der Tastenkombination + können Sie Ihr VBA-Programm unterbrechen. Damit wechseln Sie in den Debug- Modus Anzeige von aktuellen Werten Der Inhalt einer Variablen lässt sich abfragen, indem Sie den Cursor auf eine Variable positionieren. Nach einer kurzen Verzögerung wird der aktuelle Wert der Variablen in einem gelben Rechteck angezeigt. Bild 15.4: Automatischer Datentipp Werden keine Werte angezeigt, überprüfen Sie die Einstellung für AUTOMATISCHE DATEN-TIPS im Dialogfeld unter EXTRAS OPTIONEN auf dem Registerblatt EDITOR. Für die Anzeige der Werte muss die Option aktiviert sein. Alternativ können Sie auch, um den in Bild 15.3 gezeigten Fehler in der betroffenen Zeile zu lokalisieren, den Inhalt der Variablen intzähler mit der Schaltfläche AKTUELLEN WERT ANZEIGEN ermitteln Der Debugger zur Fehlersuche 213

7 Markieren Sie dazu die Variable intzähler und betätigen Sie die Schaltfläche, um das folgende Dialogfeld zu erhalten. Bild 15.5: Aktuellen Wert anzeigen Mit ABBRECHEN schließen Sie das Dialogfeld, mit HINZUFÜGEN wird die Variable intzähler in die Überwachungsliste aufgenommen, die ich Ihnen weiter unten im Abschnitt beschreibe Das Direktfenster Die Inhalte von Variablen und viele weitere Operationen können im Direktfenster abgefragt und aufgerufen werden. Sollte es nicht zu sehen sein, aktivieren Sie das Direktfenster mit der gleichnamigen Schaltfläche. Im Direktfenster dient ein Fragezeichen als Druckbefehl. Möchten Sie den Wert einer Variablen oder das Ergebnis einer Funktion im Direktfenster anzeigen lassen, so setzen Sie ein Fragezeichen davor, wie beispielsweise im nächsten Bild dargestellt. Bild 15.6: Ausgabe im Direktfenster Aufruf im Direktfenster Sie rufen eine Funktion im Direktfenster auf, indem Sie ein Fragezeichen voranstellen. Damit wird das Ergebnis der Funktion im Direktfenster ausgegeben. Prozeduren werden im Direktfenster mithilfe ihres Namens gestartet, ohne dass ein Fragezeichen verwendet wird. 214 Kapitel 15: Fehler finden und behandeln

8 Der Befehl Debug.Print Verwenden Sie in Ihrem Programm den Befehl Debug.Print, so können Sie sofort in das Direktfenster schreiben. Um dem Fehler auf die Spur zu kommen, ergänzen Sie die Beispielprozedur durch einen Debug.Print-Befehl: Debug.Print "Zähler= "; intzähler ; strtest Klicken Sie erneut auf die Schaltfläche TEST im Formular frmfehlersuche, nachdem Sie den Debugger mit dem Menübefehl AUSFÜHREN ZURÜCKSETZEN verlassen haben. Nun wird für jeden Schleifendurchlauf der Inhalt der Variablen intzähler mit Debug.Print im Direktfenster ausgegeben, bevor das Programm erneut mit der Fehlermeldung beendet wird. Bild 15.7: Ausgabe im Direktfenster Im Direktfenster lässt sich deutlich erkennen, dass beim Zählerstand von 6 schon alle Werte im Array ausgegeben sind. Der nächste Durchlauf führt damit zum Fehler. Für die Aufbereitung der Ausgabedaten mit Debug.Print stehen Ihnen eine Reihe von Formatierungsmöglichkeiten zur Verfügung, die ich Ihnen kurz vorstellen möchte. Mehrere Ausdrücke können entweder mit einem Leerzeichen oder mit einem Semikolon getrennt werden. Ein Leerzeichen hat dabei 15.2 Der Debugger zur Fehlersuche 215

9 dieselbe Wirkung wie ein Semikolon. Setzen Sie hinter einen Ausdruck ein Komma, wird die nächste Ausgabe um eine Tabulatorposition verschoben. Ist das letzte Zeichen einer Debug.Print-Anweisung ein Semikolon oder ein Komma, wird die nächste Debug.Print-Ausgabe nicht in einer neuen Zeile begonnen, sondern direkt bzw. einen Tabulatorabstand hinter die aktuelle Ausgabe gesetzt. Daten vom Typ Boolean werden entweder als Wahr oder als Falsch ausgegeben. Für Werte vom Typ Date wird das Standardformat für kurze Datumsangaben verwendet Schrittweise Abarbeitung Sie können ein VBA-Programm schrittweise durchlaufen lassen und dabei Haltepunkte setzen, an denen das Programm stoppt. Zusätzlich können Sie die Inhalte Ihrer Variablen permanent überwachen und Abbruchkriterien definieren. Haltepunkt Mithilfe der Schaltfläche HALTEPUNKT legen Sie die Zeile fest, an der die Ausführung unterbrochen werden soll. Alternativ können Sie einen Haltepunkt mit der Maus definieren. Klicken Sie dazu einfach links von der Zeile, für die der Haltepunkt definiert werden soll, auf den grauen Balken im Code-Fenster. Es besteht auch die Möglichkeit, mehrere Haltepunkte in einem Programm zu definieren. Sie werden jeweils durch einen dunkelroten Balken dargestellt. Hat Ihr Programm einen Haltepunkt erreicht, lassen sich mithilfe des Direktfensters oder über die Schaltfläche AKTUELLEN WERT ANZEI- GEN die Inhalte Ihrer Variablen ausgeben, die bis dahin verwendet wurden. 216 Kapitel 15: Fehler finden und behandeln

10 Bild 15.8: Definierter Haltepunkt Anhalten, Weiterlaufen und das Ganze von vorne Soll das Programm beendet werden, betätigen Sie zu einem beliebigen Zeitpunkt die Schaltfläche ZURÜCKSETZEN. Mit der Schaltfläche FORTSETZEN wird das Programm ab dem Haltepunkt gestartet, es läuft dann bis zum nächsten Haltepunkt bzw. bis zum Programmende. Die Schaltfläche UNTERBRECHEN wird aktiv, sobald Sie Ihr Programm gestartet haben. Mit ihr können Sie ein laufendes Programm unterbrechen und gegebenenfalls direkt Änderungen vornehmen. Ein unterbrochenes Programm kann mit der Schaltfläche FORTSETZEN fortgeführt werden. Einzelschritte Mithilfe der Schaltfläche EINZELSCHRITT wird ein Programm Zeile für Zeile abgearbeitet. Sie können so den Ablauf Ihres Programms genau verfolgen. Wird im Programm eine Prozedur oder eine Funktion aufgerufen, wird beim schrittweisen Durchlauf des Programms in die entsprechende Prozedur oder Funktion verzweigt. Alternativ können Sie Einzelschritte mit der Taste oder über DEBUGGEN EINZELSCHRITT durchführen. Prozedurschritte Möchten Sie beim schrittweisen Durchlaufen eines Programms nicht jede Prozedur oder Funktion einzeln durchlaufen, sondern überspringen, so verwenden Sie die Schaltfläche PROZEDURSCHRITT (oder + bzw. DEBUGGEN PROZEDURSCHRITT) Der Debugger zur Fehlersuche 217

11 Prozedur abschließen Hilfreich insbesondere beim schrittweisen Durchlaufen großer und tief verschachtelter Programme ist die Schaltfläche PROZEDUR ABSCHLIEßEN ( + + oder DEBUGGEN PROZEDUR ABSCHLIEßEN). Die Schaltfläche führt das Programm mit dem nächsten Befehl der Prozedur fort, die die aktuell aktive Prozedur aufgerufen hat. Ausführen bis zur Cursor-Position Klicken Sie mit dem Mauszeiger in eine Zeile Ihres Programms und rufen dann DEBUGGEN AUSFÜHREN BIS CURSOR (oder + ) auf. Es werden dann alle Programmzeilen bis zu der angeklickten Zeile durchlaufen. Nächste Anweisung festlegen Sollten Sie mit den Debugging-Möglichkeiten einige Erfahrung gesammelt haben, so kann Ihnen der Befehl DEBUGGEN NÄCHSTE AN- WEISUNG FESTLEGEN oder + weitere Unterstützung bieten. Sie bestimmen damit die Programmzeile, ab der ein Programm weiter ausgeführt werden soll. Selektieren Sie dazu die gewünschte Programmzeile und wählen Sie dann den Befehl an. Alternativ können Sie auch mit der Maus den kleinen gelben Zeiger, der links von der gelb markierten aktuellen Programmzeile gezeigt wird, auf die gewünschte Zeile verschieben Das Lokal-Fenster Im Lokal-Fenster werden alle Variablen und ihre Werte angezeigt, die im aktuell ablaufenden Programm für eine bestimmte Prozedur existieren. Insbesondere beim schrittweisen Durchlaufen eines Programms lassen sich hier leicht Inhalte von Variablen ermitteln. Komplexe interne und benutzerdefinierte Variablen werden in einer Baumstruktur abgebildet. Durch einen Klick auf das Pluszeichen vor der Variablen öffnen Sie die nächste Ebene der Datenstruktur der Variablen. 218 Kapitel 15: Fehler finden und behandeln

12 Bild 15.9: Baumstruktur für Variablen Überwachung von Variablen Die dauernde Kontrolle von Variablen oder Ausdrücken kann mit der Überwachungsfunktion eingerichtet werden. Die überwachten Ausdrücke werden im Überwachungsfenster dargestellt. Mit der Schaltfläche ÜBERWACHUNGSFENSTER bzw. ANSICHT ÜBERWACHUNGS- FENSTER schalten Sie das Fenster ein. Um eine Variable zu überwachen, rufen Sie mit DEBUGGEN ÜBER- WACHUNG HINZUFÜGEN das folgende Dialogfeld auf. Haben Sie vorher eine Variable oder einen Ausdruck markiert, wird er automatisch in das Feld AUSDRUCK übernommen. Bild 15.10: Überwachung hinzufügen 15.2 Der Debugger zur Fehlersuche 219

13 Für überwachte Ausdrücke sind drei Einstellungen möglich: Mit ÜBERWACHUNGAUSDRUCK wird der Inhalt einer Variablen bzw. das Ergebnis eines Ausdrucks im Überwachungsfenster angezeigt. Vereinbaren Sie UNTERBRECHEN, WENN DER WERT TRUE IST, dann stoppt Ihr Programm in dem Moment und an der Zeile, bei der der überwachte Ausdruck als Ergebnis den Wert Wahr (True) ergibt. Möchten Sie das Programm bei einer Änderung des Inhalts einer Variablen oder eines Ausdrucksergebnisses anhalten, so selektieren Sie die Option UNTERBRECHEN, WENN WERT GEÄNDERT WURDE. Im Überwachungsfenster werden die drei Einstellungsmöglichkeiten durch verschiedene Symbole im Überwachungsbereich dargestellt. Bild 15.11: Überwachungsfenster Aufrufeliste Mithilfe der Schaltfläche AUFRUFELISTE öffnen Sie ein Dialogfeld, das die Prozeduren und Funktionen anzeigt, die bis zur aktuellen Zeile im Programm durchlaufen wurden Vermeidung von Fehlern Da kaum jemand auf Anhieb fehlerfrei programmiert, möchte ich Ihnen in diesem Abschnitt die wichtigsten Strategien zur Fehlervermeidung zusammenfassen. 220 Kapitel 15: Fehler finden und behandeln

14 Deklaration von Variablen Verwenden Sie eine neue Variable, ohne sie vorher mit einem Dim- Befehl deklariert zu haben, wird als Typ automatisch Variant zugewiesen. Dies wird als implizite Deklaration bezeichnet. Die implizite Deklaration von Variablen ist bequem, denn eine neue Variable steht zur Verfügung, wann immer sie benötigt wird. Allerdings ist dies auch fehlerträchtig: Angenommen, Sie verwenden in Ihrem Programm die Variable intzähler und möchten nun mit dem nächsten Befehl zum Inhalt der Variable den Wert Eins hinzuzählen und das Ergebnis in das Steuerelement txtergebnis übergeben. txtergebnis.text = intzaehler + 1 Haben Sie den Fehler gefunden? Das in txtergebnis.text übertragene Ergebnis ist nämlich immer Eins, denn implizit wurde eine neue Variable intzaehler erzeugt anstatt intzähler zu verwenden. Sie können Fehler aufgrund von implizit deklarierten Variablen umgehen, indem Sie am Anfang Ihres Programms durch den Befehl Option Explicit nur noch explizit vereinbarte Variablen zulassen. Der Befehl wird in den Deklarationsteil eines Moduls oder Formulars aufgenommen. Sie können Option Explicit automatisch in jedes Programm einfügen lassen, indem Sie über EXTRAS OPTIONEN das Registerblatt EDITOR aufrufen. Selektieren Sie die Option VARIABLENDEKLARATION ER- FORDERLICH, damit die Option Explicit automatisch bereitgestellt wird. Kleine Einheiten Zerlegen Sie Ihre Programme in überschaubare, kleine Einheiten, in Funktionen und Sub-Prozeduren. Fehler lassen sich oft besser eingrenzen, wenn kleine Programmteile mit lokalen Variablen verwendet werden Vermeidung von Fehlern 221

15 Möglichst keine globalen Variablen verwenden Setzen Sie keine oder möglichst wenige globale Variablen ein. Oft ist es nur sehr schwer nachzuvollziehen, welche Routine oder Funktion eine globale Variable zu welchem Zeitpunkt geändert hat. Globale Variablen sollten sehr sorgfältig dokumentiert sein, damit ihr Zustand und Inhalt zu jedem Zeitpunkt eindeutig ist. Übergabe von Parametern als Wert (ByVal) Übergeben Sie Parameter an Sub-Prozeduren und Funktionen nach Möglichkeit immer als Wert, also mit ByVal. Standardmäßig werden in Access Parameter als Referenz, ByRef, übergeben. Dabei wird dem Unterprogramm die Adresse der Variablen im Speicher mitgeteilt. Das Unterprogramm verwendet die Adresse, um den Inhalt der Variablen zu bestimmen (die verschiedenen Möglichkeiten der Parameterübergabe haben Sie in Kapitel 13 kennen gelernt). Namenskonventionen Hilfreich beim Vermeiden, aber auch beim Suchen von Fehlern ist die Verwendung der Namenskonvention für Variablen, Konstanten, Funktionen und Prozeduren, auf die ich schon öfter eingegangen bin. Kommentare Schreiben Sie ausführliche Kommentare! Kommentieren Sie Ihren Code, auch wenn es Ihnen zu trivial vorkommt, mit Worten zu erklären, was im Programm passiert. Spätestens in einem halben Jahr wissen auch Sie nicht mehr, welche Bedeutung bestimmte Abläufe in Ihrem Programm haben. Muss Ihr Programm von anderen Personen gepflegt und gewartet werden, sind Kommentare oft die einzige Chance, den Ablauf eines Programms zu verstehen Fehlerbehandlung Tritt zur Laufzeit eines VBA-Programms ein Fehler auf, wird eine entsprechende Fehlermeldung angezeigt, und das Programm wird 222 Kapitel 15: Fehler finden und behandeln

16 beendet. Solche Programmabbrüche sind unangenehm, weil in vielen Fällen Daten verloren gehen können, da das Programm komplett verlassen wird. Ich rate Ihnen deshalb, eigene Fehlerbehandlungsroutinen zu implementieren, um auf Laufzeitfehler zu reagieren. In den folgenden Abschnitten möchte ich Ihnen einen Überblick über die Behandlung von Fehlern und die zur Verfügung stehenden Befehle geben. Bei allen Fehlern anhalten Im Registerdialogfeld zu EXTRAS OPTIONEN kann auf dem Registerblatt ALLGEMEIN die Option BEI JEDEM FEHLER eingeschaltet sein. Damit wird jegliche, von Ihnen in Ihren Programmen definierte Fehlerbehandlung ausgeschaltet, d.h., Access behandelt jeden Fehler selbst. Diese Option ist während des Testens einer Applikation sinnvoll. Später sollte sie jedoch auf jeden Fall deaktiviert werden. Sie können die Fehlerbehandlung so einstellen, dass beim Auftreten eines Fehlers ein bestimmter, für die Fehlerbehandlung definierter Bereich in Ihrem Programm angesprungen wird. Mit On Error Goto Label wird die eigene Fehlerbehandlung aktiviert, wobei Label eine Zeilennummer oder Sprungmarke angibt. Tritt ein Fehler auf, wird das Programm zum Label verzweigt und die dort aufgeführten Befehle werden abgearbeitet. Jeder Fehler wird automatisch in einem Err-Objekt abgelegt, dessen Eigenschaften Sie in Ihrem Programm abrufen bzw. dessen Methoden Sie verwenden können. Das Fehlerobjekt Err besitzt die in folgender Tabelle aufgeführten Eigenschaften und Methoden. Eigenschaft/Methode Beschreibung Number gibt Nummer des Fehlers zurück. Description fügt Beschreibungstext für den Fehler ein. Tabelle 15.2: Eigenschaften und Methoden des Err- Objekts Source gibt den Namen der Anwendung zurück, die den Fehler ausgelöst hat Fehlerbehandlung 223

17 Tabelle 15.2 (Forts.): Eigenschaften und Methoden des Err- Objekts Eigenschaft/Methode LastDLLError HelpFile HelpContext Raise Clear Beschreibung enthält die Beschreibung eines Fehlers, der in einer DLL-Bibliothek aufgetreten ist. gibt die Hilfedatei an, aus der der Hilfetext zum Fehler entnommen wird. gibt die Kontextkennung in der Hilfedatei an. erzeugt einen Fehler. setzt das Err-Objekt zurück Fehlerbehandlungsbefehle In den folgenden Abschnitten erläutere ich Ihnen die verschiedenen Fehlerbehandlungsbefehle Fehlerbehandlung setzen: On Error Goto Die Fehlerbehandlung wird in einem Programm mit dem Befehl On Error Goto Sprungmarke eingeleitet. Sprungmarke steht für eine benannte Sprungmarke oder Zeilennummer. Eine ganz einfache Fehlerbehandlung zeigt das folgende Programm. Sub MinimalFehlerbehandlung() On Error Goto Err_Fehlerbehandlung ' Hier kommt der Fehler: Division durch 0 Debug.Print 1/0 Exit Sub Err_Fehlerbehandlung: Msgbox "Fehler " & Err.Description & " aufgetreten!" End Sub Ab der Sprungmarke, hier Err_Fehlerbehandlung, wird der aufgetretene Fehler behandelt. Sie müssen dabei sicherstellen, dass die Befehle der Fehlerbehandlung nicht abgearbeitet werden, wenn kein Fehler ausgelöst wurde. Normalerweise wird direkt vor der Sprungmarke der Fehlerbehandlung der Befehl Exit Sub bzw. Exit Function eingefügt. 224 Kapitel 15: Fehler finden und behandeln

18 Beim Verlassen einer Sub- oder einer Function-Prozedur wird eine dort gesetzte Fehlerbehandlung zurückgesetzt; damit hat die Fehlerbehandlung die gleiche Gültigkeit und Lebensdauer wie die Prozedur, in der sie definiert ist Fehler übergehen: On Error Resume Next Möchten Sie beim Auftreten eines Fehlers direkt mit der Programmzeile weitermachen, die auf die Zeile folgt, die den Fehler ausgelöst hat, verwenden Sie den Befehl On Error Resume Next. Der Befehl hat die gleiche Gültigkeit und Lebensdauer wie die Prozedur oder Funktion, in der er verwendet wird. Den Einsatz des Befehls möchte ich Ihnen anhand des folgenden kleinen Programms erläutern: Sub UmrechnungMitFehler() Dim dblwert As Double dblwert = InputBox("Betrag in DM") MsgBox "Betrag in EURO = " & dblwert / End Sub Rufen Sie die Sub-Prozedur auf, wird in einer InputBox ein Wert abgefragt. Anschließend wird in der MessageBox das umgerechnete Ergebnis gezeigt. Das funktioniert so lange, wie Sie Zahlen in der InputBox eingeben. Tippen Sie Buchstaben ein, so erhalten Sie den Laufzeitfehler 13,»Typen unverträglich«, denn Sie versuchen nun, eine Zeichenkette einer Variablen vom Typ Double zuzuweisen. Im folgenden Listing finden Sie eine Variante der Prozedur, in der durch On Error Resume Next vermieden wird, dass die Laufzeitfehlermeldung eingeblendet wird. Anschließend wird die Nummer des Fehlers ausgewertet: ist sie 0, ist kein Fehler ausgelöst worden, d.h., die Eingabe war korrekt. Sub Umrechnung() Dim dblwert As Double On Error Resume Next dblwert = InputBox("Betrag in DM") If Err.Number = 0 Then MsgBox "Betrag in EURO = " & dblwert / Fehlerbehandlungsbefehle 225

19 Else MsgBox "Eingabe muss eine Zahl sein! End If End Sub Zurücksetzen der Fehlerbehandlung: On Error Goto 0 Um die eigene Fehlerbehandlung innerhalb einer Prozedur oder Funktion wieder abzuschalten, wird der Befehl On Error Goto 0 eingesetzt. Die Sprungmarke 0 ist eine Access-interne Adresse. Das Programm verzweigt zu dieser internen Adresse, selbst wenn Sie in Ihr Programm eine gleichnamige Sprungmarke einfügen. Das bedeutet für die Programmausführung, dass Access die Kontrolle über die Fehlerbehandlung zurück erhält. Und weiter im Programm: Die Resume-Befehle Die Resume-Befehle Resume, Resume Next und Resume Sprungmarke werden eingesetzt, um nach einem Fehler das Programm weiter abzuarbeiten. Bild 15.12: Resume-Befehle Programmzeile, die Fehler ausgelöst hat Nächste Programmzeile Fehlerbehandlung Resume Resume Sprungmarke Resume Next Sprungmarke: Programmzeile Ist es möglich, innerhalb Ihrer Fehlerbehandlung den aufgetretenen Fehler zu beheben, kann durch Resume die Abarbeitung Ihres Programms mit der Programmzeile fortgesetzt werden, die den Fehler ausgelöst hat, während Resume Next das Programm an der Zeile fortführt, die der Zeile mit dem Fehler folgt. Durch Resume Sprungmarke können Sie gezielt eine Stelle im Programm anspringen, an der Ihr Programm fehlerfrei fortgeführt werden kann. 226 Kapitel 15: Fehler finden und behandeln

20 Die On Error-Aufrufkette Tritt in der On Error-Fehlerbehandlung selbst der nächste Fehler auf, kann er nicht von der gerade aktiven Fehlerbehandlung, also von sich selbst, abgefangen werden. Access durchläuft die Kette der eingerichteten Fehlerbehandlungen, bis eine nicht aktive Fehlerbehandlung gefunden wird, der der Fehler übergeben wird. Sind alle Fehlerbehandlungen eines Programms aktiv und es tritt ein weiterer Fehler auf, wird die Standardfehlermeldung zum Fehler gezeigt und das Programm abgebrochen Beispielhafte Fehlerbehandlung Innerhalb der Fehlerbehandlung einer Sub oder Function ist es möglich, auf den aufgetretenen Fehler spezifisch zu reagieren. Im folgenden Beispiel-Code ist innerhalb des Fehlerbehandlungsblocks eine Select Case-Anweisung programmiert. Sub Fehlerbehandlung() On Error GoTo err_fehlerbehandlung '... hier steht Ihr Programm Exit Sub err_fehlerbehandlung: Select Case Err.Number Case 11: ' Division durch Null '...hier die entsprechenden Befehle Case 13: ' Typen unverträglich '...hier die entsprechenden Befehle Case Else MsgBox "Fehler <" & Err.Description & _ "> (" & Err.Number & _ ") in Sub <Fehlerbehandlung>" & _ " aufgetreten!" End Select End Sub Für jeden Fehler, den Sie speziell behandeln möchten, fügen Sie ein weiteres Case und die entsprechenden Befehle ein, so wie es exemplarisch für die Fehler 11 und 13 gezeigt ist Beispielhafte Fehlerbehandlung 227

Excel VBA Fehler im Programm

Excel VBA Fehler im Programm Excel VBA Fehler im Programm Fehler (Bugs) Syntaxfehler entstehen beim Schreiben des Programmcodes. Logische Fehler können durch Denkfehler bei der Umsetzung der Aufgabe in ein Programm erzeugt werden.

Mehr

Access [basics] Debugging im VBA-Editor, Teil 1. Was ist Debugging? Debugging im Fehlerfall. VBA-Grundlagen Debugging im VBA-Editor

Access [basics] Debugging im VBA-Editor, Teil 1. Was ist Debugging? Debugging im Fehlerfall. VBA-Grundlagen Debugging im VBA-Editor , Teil 1 Wer mit VBA arbeitet, hat im Gegensatz zu Makros einige Möglichkeiten, den Programmablauf zu beobachten und auf diese Weise Fehler aufzudecken. Auch wenn der VBA-Editor bereits einige Jährchen

Mehr

Fehler finden und beheben

Fehler finden und beheben Kapitel 9 Fehler finden und beheben In diesem Kapitel lernen Sie welche Testfenster die VBA-Umgebung anbietet wie der Debugger genutzt werden kann, um Fehler aufzuspüren wie fehlertolerant VBA im Allgemeinen

Mehr

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle

Mehr

Access 2010 Programmierung Schleifen

Access 2010 Programmierung Schleifen Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze

Mehr

VBA- Programmierung. Integrierte Lösungen mit Office 2013. Ricardo Hernández García. 1. Ausgabe, November 2013

VBA- Programmierung. Integrierte Lösungen mit Office 2013. Ricardo Hernández García. 1. Ausgabe, November 2013 VBA- Programmierung Ricardo Hernández García 1. Ausgabe, November 2013 Integrierte Lösungen mit Office 2013 VBA2013 3 VBA-Programmierung - Integrierte Lösungen mit Office 2013 3 Die VBA-Entwicklungsumgebung

Mehr

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays Dass Sie unter Access Daten in Tabellen speichern und gezielt darauf zugreifen können, wissen Sie als Access [basics]-leser schon längst. Aber was, wenn Sie nur ein paar gleichartige Daten zwischenspeichern

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Exit Do (Anweisung)... 183 Exit For (Anweisung)... 182 Exit Function (Anweisung)... 188 Exit Sub (Anweisung)... 191

Exit Do (Anweisung)... 183 Exit For (Anweisung)... 182 Exit Function (Anweisung)... 188 Exit Sub (Anweisung)... 191 Index A Active Data Objects...234 AddNew (Methode)...237 ADO...234 Anwendungstitel...129 Argumente...193 Asc...201 Auflistung...232 Aufrufreihenfolge...212 Ausdrücke finden...113 Ausdrucks-Generator...

Mehr

4 Schleifen -= Entstanden unter Excel 2003 =-

4 Schleifen -= Entstanden unter Excel 2003 =- Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Bilderverwaltung mit Access

Bilderverwaltung mit Access Bilderverwaltung mit Access (1) Tabelle anlegen Der große Nachteil beim Speichern von Bilddateien in Datenbanken ist, dass sie nicht in dem herkömmlichen Format, sondern in einem Windows-internen Format

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

Microsoft PowerPoint 2013 Folienübergänge

Microsoft PowerPoint 2013 Folienübergänge Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folienübergänge Folienübergänge in PowerPoint 2013 Seite 1 von 8 Inhaltsverzeichnis Einleitung... 2 Einer Folie einen

Mehr

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011 Access 2010 für Windows Automatisierung, Programmierung ACC2010P 4 Access 2010 für Windows - Automatisierung, Programmierung 4 Mit

Mehr

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen. Visual Basic / EXCEL Unterrichtsreihe von Herrn Selbach / Makro Programmierung 1. Die Steuerelemente Toolbox Durch Ansicht Symbolleisten Steuerelemente-Toolbox kann man Befehlschaltflächen (CommandButton),

Mehr

Überschrift/Caption. Eigenschaftenfenster

Überschrift/Caption. Eigenschaftenfenster UsserrForrm errssttel llen Dass Codeffensstterr 22000044 NNi iikkoo BBeecckkeerr Öffnen Sie EXCEL und wechseln Sie mit der Tastenkombination Alt + F11 in den Visual Basic-Editor. Alternativ können Sie

Mehr

1 MAKROS AUFZEICHNEN. 1.1 Einführung

1 MAKROS AUFZEICHNEN. 1.1 Einführung Makro Aufzeichnen Makro + VBA 2010 effektiv 1 MAKROS AUFZEICHNEN 1.1 Einführung Sie können Excel sehr einfach automatisieren, indem Sie ein Makro aufzeichnen. Ähnlich wie bei einem Kassettenrecorder werden

Mehr

Richtig einsteigen: Access 2010 VBA-Programmierung

Richtig einsteigen: Access 2010 VBA-Programmierung Richtig einsteigen: Access 2010 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung von Lorenz Hölscher 1. Auflage Richtig einsteigen: Access 2010 VBA-Programmierung Hölscher schnell

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Einführung in Visual Basic 6.0

Einführung in Visual Basic 6.0 Einführung in Visual Basic 6.0 Grundlagen Die Windows-Philosophie Die Art und Weise, wie die Kommunikation mit dem Benutzer abläuft, dürfte wohl der gravierendste Unterschied zwischen den klassischen Betriebssystemen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? XML 1 WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? Mit den verschiedenen Versionen von Access wurde die Unterstützung von XML immer mehr verbessert. Vollständig ist sie aber

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Alternative Schutzmechanismen für Excel

Alternative Schutzmechanismen für Excel Alternative Schutzmechanismen für Excel Bernd Held, Vaihingen an der Enz Neben dem in Excel standardmäßig angebotene Tabellenschutz können Sie weitere Schutzmechanismen in Excel einsetzen. Dazu bedarf

Mehr

11.1 Warum überhaupt VBA?

11.1 Warum überhaupt VBA? 11 VBA ausprobieren»chi lascia la strada vecchia per la nuova, sa quel che lascia ma non quel che trova. Wer die alte Straße wegen der neuen verlässt, weiß, was er verlässt, aber nicht, was er findet.«in

Mehr

Variablen und Konstanten

Variablen und Konstanten Variablen und Konstanten Variablen und Konstanten werden benötigt, um sich in Prozeduren Werte zu merken oder zu übergeben. Es gibt numerische Werte (1 / 10,9) und es gibt alphanumerische Zeichenfolgen

Mehr

P r o g r a m m a b l a u f s t e u e r u n g

P r o g r a m m a b l a u f s t e u e r u n g Jede Programmiersprache braucht Konstrukte zur Steuerung des Programmablaufs. Grundsätzlich unterscheiden wir Verzweigungen und Schleifen. Schleifen dienen dazu, bestimmte Anweisungen wiederholt auszuführen,

Mehr

Einstieg in VBA mit Excel Galileo Press

Einstieg in VBA mit Excel Galileo Press Thomas Theis Einstieg in VBA mit Excel Galileo Press Geleitwort des Fachgutachters 15 loooodoooooooockx)ock90000000aqoc^oc}ooaooooooooocx>c)ooocxx3ao 1 1 Was wird besser durch Makros und VBA? 17 12 Arbeiten

Mehr

1 MAKROS AUFZEICHNEN. 1.1 EinfÄhrung

1 MAKROS AUFZEICHNEN. 1.1 EinfÄhrung Makro Aufzeichnen Makro + VBA effektiv 1 MAKROS AUFZEICHNEN 1.1 EinfÄhrung Sie kçnnen Excel sehr einfach automatisieren, indem Sie ein Makro aufzeichnen. Ühnlich wie bei einem Kassettenrecorder werden

Mehr

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...

Mehr

Kennen, können, beherrschen lernen was gebraucht wird

Kennen, können, beherrschen lernen was gebraucht wird Formulare Formulare erstellen Was ist ein Formular? Formulare sind standardisierte Dokumente (z.b. Vordrucke, Formblätter) In Formularen sind spezielle Bereiche dafür vorgesehen, mit Informationen gefüllt

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Wenn ein Fehler in Ihrer Prozedur ist, wird entweder gar nicht erst gestartet oder es wird mittendrin abgebrochen.

Wenn ein Fehler in Ihrer Prozedur ist, wird entweder gar nicht erst gestartet oder es wird mittendrin abgebrochen. Fehler Fehler Fehler in Prozeduren können auf viele verschiedene Arten entstehen. Nachfolgend wollen wir versuchen, Ihnen einige Tipps zu geben, wie Sie Fehler finden, vermeiden und wegprogrammieren können.

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Datenverarbeitung Excel-VBA Übersicht HT 2013

Datenverarbeitung Excel-VBA Übersicht HT 2013 Eine gute Starthilfe beim Umgang mit Excel-VBA bieten die Kurzanleitungen von: http://www.bauv.unibw-muenchen.de/bauv1/oc/html/download/dv/index.html Tabellenblätter EXCEL Tabelle wechseln Tabelle umbenennen

Mehr

Erstellen Sie ein Standardmodul, Seite 131. Legen Sie Optionen fest oder deklarieren Sie Konstanten für ein Modul, Seite 133

Erstellen Sie ein Standardmodul, Seite 131. Legen Sie Optionen fest oder deklarieren Sie Konstanten für ein Modul, Seite 133 Erstellen Sie ein Standardmodul, Seite 131 Legen Sie Optionen fest oder deklarieren Sie Konstanten für ein Modul, Seite 133 Erstellen Sie allgemeine Subund Function-Prozeduren, Seite 134 bzw. Seite 138

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Verteilte Datenbanken

Verteilte Datenbanken Verteilte Datenbanken André Minhorst, Duisburg Kleinere Datenbankanwendungen mit wenigen Inhalt Benutzern und nicht allzu großem Datenverkehr 1 Gründe für verteilte Anwendungen... 1 können auch im Netzwerk

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

BERND HELD. Das Access-VBA Codebook

BERND HELD. Das Access-VBA Codebook BERND HELD Das Access-VBA Codebook Bernd Held Das Access-VBA Codebook >> Die 245 Abbildung 112: Die Laufwerkstypen wurden ermittelt. 171 Weitere Laufwerkseigenschaften In der Prozedur aus Listing 201 können

Mehr

Access-Benutzeroberfläche

Access-Benutzeroberfläche Mit Access 2007 hat Microsoft das Ribbon eingeführt und Access seiner Werkzeuge beraubt, Menüleisten und über die Benutzeroberfläche zu erstellen. Nun gut: Menüleisten gibt es nicht mehr, aber können in

Mehr

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden? Wo kann eigene Programmierung in ArcGIS verwendet werden? 12. ArcView-Anwendertreffen 2010 Workshop Programmierung in ArcGIS Daniel Fuchs 1) Makros für die Automatisierung einzelner Arbeitsschritte im

Mehr

10 Anwenderfreundlich mit Makros

10 Anwenderfreundlich mit Makros 10 Anwenderfreundlich mit Makros»Ogni bel gioco dura poco. Alles Schöne hat einmal ein Ende.«Dies ist das letzte Kapitel, das sich schwerpunktmäßig mit Makros beschäftigt. Aber keine Angst, VBA ist ja

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Access 2003 Programmierung mit Visual Basic

Access 2003 Programmierung mit Visual Basic Access 2003 Programmierung mit Visual Basic Autor: Andreas Klein 3. Auflage: 2005 Merkwerk Alle Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form ohne Genehmigung der Firma Merkwerk reproduziert

Mehr

Richtig einsteigen: Access 2013 VBA-Programmierung

Richtig einsteigen: Access 2013 VBA-Programmierung Richtig einsteigen: Access 2013 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung Bearbeitet von Lorenz Hölscher 1., A. 2013. Buch. 439 S. Hardcover ISBN 978 3 86645 225 1 Weitere

Mehr

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung Wenn Sie eine Datenbank in Frontend und Backend aufgeteilt haben, greift das Frontend über eine Verknüpfung auf die Tabellen im Backend zu. Wo sich das Backend befindet, wird in einer Systemtabelle gespeichert.

Mehr

Microsoft Access 2010 Bilder

Microsoft Access 2010 Bilder Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis

Mehr

Word 2010 Online Formulare mit Vorversionstools

Word 2010 Online Formulare mit Vorversionstools WO.021, Version 1.0 5.10.2015 Kurzanleitung Word 2010 Online Formulare mit Vorversionstools Als Online Formulare werden in Word Vorlagen bezeichnet, welche neben einem gleichbleibenden Standard-Text auch

Mehr

Allgemeine Hinweise. Softwareinstallation. Im Rahmen des Praktikums kommt folgende Software zum Einsatz

Allgemeine Hinweise. Softwareinstallation. Im Rahmen des Praktikums kommt folgende Software zum Einsatz Allgemeine Hinweise Softwareinstallation Im Rahmen des Praktikums kommt folgende Software zum Einsatz Programmiersprache: Visual Studio Struktogrammeditor Texteditor Visual Studio Sie erhalten eine kostenlose

Mehr

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen...

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen... Inhalt Vorwort... 2 Installation... 3 Hinweise zur Testversion... 4 Neuen Kunden anlegen... 5 Angebot und Aufmaß erstellen... 6 Rechnung erstellen... 13 Weitere Informationen... 16 1 Vorwort Wir freuen

Mehr

Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen

Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen Dateiname: ecdl5_04_02_documentation Speicherdatum: 24.11.2004 ECDL 2003 Modul 5 Datenbank - Formulare anpassen Inhaltsverzeichnis 1 EINLEITUNG...

Mehr

Theorie Excel - VBA (Visual Basic Application)

Theorie Excel - VBA (Visual Basic Application) Inhaltsverzeichnis 1 Einstieg... 2 1.1 Symbolleiste Visual Basic... 2 1.2 Editor... 3 1.3 Befehle... 4 2 Vorgehensweise beim Programmieren... 4 2.1 Betroffene Dateien festhalten... 4 2.2 Ablauf festhalten...

Mehr

Sie haben mehrere Möglichkeiten neue Formulare zu erstellen. Achten Sie darauf, dass das Objekt Formulare aktiviert ist: Klicken Sie auf.

Sie haben mehrere Möglichkeiten neue Formulare zu erstellen. Achten Sie darauf, dass das Objekt Formulare aktiviert ist: Klicken Sie auf. 9. FORMULARE Mit Formularen können Sie sehr komfortabel Daten in eine Tabelle eingeben und auch anzeigen lassen, da Sie viele Eingabemöglichkeiten zur Verfügung haben. EIN EINFACHES FORMULAR ERSTELLEN

Mehr

Woche 1 im Überblick 26

Woche 1 im Überblick 26 Über dieses Buch 21 Die Syntax. 23 Die Listings 24 Fragen und Antworten, Workshops 24 Konventionen.. 25 Zum Autor 25 Woche 1 im Überblick 26 Was erwartet Sie? 28 Tag 1 Visual-Basic-Grundlagen 31 Makros

Mehr

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange BAUINFORMATIK SS 2013 Vorlesung 1 Johannes Lange Vorstellung 2 Dr.-Ing. Johannes Lange Softwareentwicklung, Organisation Projekt-, Qualitätsmanagement CAD Gebäudebetrachtung Technische Ausrüstung (TGA)

Mehr

Formulare. Datenbankanwendung 113

Formulare. Datenbankanwendung 113 Formulare Wenn Sie mit sehr umfangreichen Tabellen arbeiten, werden Sie an der Datenblattansicht von Access nicht lange Ihre Freude haben, sind dort doch immer zu wenig Felder gleichzeitig sichtbar. Um

Mehr

VBA mit Office 97 lernen

VBA mit Office 97 lernen Rene Martin 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. VBA mit Office 97 lernen Einstieg in die Welt der Makro-Programmierung

Mehr

Das Anwendungsfenster

Das Anwendungsfenster Das Word-Anwendungsfenster 2.2 Das Anwendungsfenster Nach dem Start des Programms gelangen Sie in das Word-Anwendungsfenster. Dieses enthält sowohl Word-spezifische als auch Windows-Standardelemente. OFFICE-

Mehr

Verknüpfen & Einbetten von Daten

Verknüpfen & Einbetten von Daten Verknüpfen & Einbetten von Daten In Office haben Sie die Möglichkeit, Daten in mehreren Anwendungen gemeinsam zu nutzen. Dies geschieht entweder durch Verknüpfen oder durch Einbetten von Objekten (Diagramme,

Mehr

Richtig einsteigen: Excel 2010 VBA-Programmierung Can

Richtig einsteigen: Excel 2010 VBA-Programmierung Can Richtig einsteigen: Excel 2010 VBA-Programmierung Vom aufgezeichneten Makro bis zu professionellem VBA-Code von Monika Can 1. Auflage Richtig einsteigen: Excel 2010 VBA-Programmierung Can schnell und portofrei

Mehr

Das Prinzip von Word-Formularen. Die allgemeine Vorgehensweise

Das Prinzip von Word-Formularen. Die allgemeine Vorgehensweise 6 Formulare Lernziele Formulare erstellen Textfelder Kontrollkästchen Dropdown-Listen Schutzmechanismen Das Prinzip von Word-Formularen WW03E-3-1 Interaktive Word-Formulare, die auch als Online-Formulare

Mehr

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN)

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN) LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN) Übung (1) Elemente des Excelfensters Ordnen Sie die Begriffe richtig zu: [1] Titelleiste (Programmleiste) [9] waagrechte/horizontale Bildlaufleiste [2] Menüleiste

Mehr

Excel 2013 Makro Workshop. Inhalt

Excel 2013 Makro Workshop. Inhalt Inhalt Vorwort... I So benutzen Sie dieses Buch... II Inhalt... V Zahlen- und Monatsschreibweise... 1 Dezimal- und Tausendertrennzeichen... 1 Währungssymbol und -position... 1 Monatsschreibweise... 1 Makros

Mehr

Fehlerbehandlung mit vbwatchdog

Fehlerbehandlung mit vbwatchdog André Minhorst Fehlerbehandlung ist für viele eine lästige Pflicht. Wenn man es richtig machen will, muss man jede einzelne Routine mit einer Fehlerbehandlung versehen. Dazu kommen noch Zeilennummern,

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

Installation von Microsoft Visual C++ 2010 Express

Installation von Microsoft Visual C++ 2010 Express Installation von Download unter http://www.microsoft.com/germany/express/products/windows.aspx Alternative: Ihr MSDNAA Zugang Registrierung nach spätestens 30 Tagen ist zwingend erforderlich. I Vorbereitung

Mehr

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2 Jörg Kapelle 15:19:08 Filterregeln Inhaltsverzeichnis Filterregeln... 1 Einführung... 1 Migration der bestehenden Filterregeln...1 Alle eingehenden Nachrichten weiterleiten...2 Abwesenheitsbenachrichtigung...2

Mehr

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Problem: In relationalen Datenbanken verteilen sich die Informationen i.d.r. auf mehrere Tabellen. Die Eingabe neuer Daten und die

Mehr

4. Kooperation mit Word, etc. (OLE)

4. Kooperation mit Word, etc. (OLE) 4. Kooperation mit Word, etc. (OLE) 4.1. OLE Automation 'OLE' stand ursprünglich für 'Object Linking and Embedding'. Was damit gemeint war: Man kann beispielsweise in einem Word Dokument ein Excel Sheet

Mehr

Aufwandprotokoll für Amtstierärzte Bedienungsanleitung

Aufwandprotokoll für Amtstierärzte Bedienungsanleitung Aufwandprotokoll für Amtstierärzte Bedienungsanleitung Inhalt 1 Anwendung auswählen... 2 1.1 Anwendung starten... 3 1.1.1 Installation von Silverlight beim ersten Aufruf... 3 1.2 Anmeldung... 4 1.2.1 Kennwort

Mehr

Excel Grundlagen. Peter Wies. 1. Ausgabe, Februar 2013

Excel Grundlagen. Peter Wies. 1. Ausgabe, Februar 2013 Excel 2013 Peter Wies 1. Ausgabe, Februar 2013 Grundlagen EX2013 3 Excel 2013 - Grundlagen Die folgende Tabelle zeigt Beispiele für häufige Fehler bei der Eingabe von Formeln: Fehlerbeschreibung Beispiel

Mehr

IHK-Reutlingen SERIENDRUCK MIT WORD 2003. Y. u. J. THOMALLA, Horb

IHK-Reutlingen SERIENDRUCK MIT WORD 2003. Y. u. J. THOMALLA, Horb IHK-Reutlingen SERIENDRUCK MIT WORD 2003 Y. u. J. THOMALLA, Horb INHALT 1 GRUNDLAGEN...1 1.1 GRUNDAUFBAU VON SERIENBRIEFEN...1 1.2 SERIENDRUCK IM ÜBERBLICK...1 1.3 EINSTELLUNGEN ZUM SERIENDRUCK...2 2 DATENQUELLEN

Mehr

16 SQL Server-Zugriff per VBA

16 SQL Server-Zugriff per VBA Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 16 SQL Server-Zugriff per VBA Sie werden an verschiedenen Stellen per VBA auf die Tabellen der SQL Server-Datenbank zugreifen müssen sei

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

3 Datentypen, Variablen und Konstanten

3 Datentypen, Variablen und Konstanten 3 Datentypen, Variablen und Konstanten Das folgende Kapitel bildet die Voraussetzung für eine strukturierte Programmierung in Excel. Mit Variablen speichern Sie Informationen dauerhaft während der Laufzeit

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Inhaltsverzeichnis. 1 Einleitung 11

Inhaltsverzeichnis. 1 Einleitung 11 Inhaltsverzeichnis Teil I: Erste Schritte 1 Einleitung 11 1.1 Die Themenschwerpunkte dieses Buchs 11 Visual Basic for Applications 11 Die Beispieldatenbank 12 1.2 Wie Sie am besten mit diesem Buch arbeiten

Mehr

Gestalten eigener Menüleisten in MS-Office 97/2000/XP/2003

Gestalten eigener Menüleisten in MS-Office 97/2000/XP/2003 Gestalten eigener Menüleisten in MS-Office 97/2000/XP/2003 In MS-Office können eigene (benutzerdefinierte) Menüsysteme erstellt werden. Weiterhin existiert natürlich auch die Möglichkeit in das existierende

Mehr

Dokumentation CT TG13 Labview. 1.1 Drehregler: 0 C bis 100 C, Anzeige analog und als Zahlenwert

Dokumentation CT TG13 Labview. 1.1 Drehregler: 0 C bis 100 C, Anzeige analog und als Zahlenwert Übungsaufgaben Labview 1 Simulation Temperaturerfassung mit While-Schleife 1.1 Drehregler: 0 C bis 100 C, Anzeige analog und als Zahlenwert Mit dem Drehregler Temperaturvorgabe wird der Wert zwischen 0

Mehr

Im Falle der Neueingabe müssen Sie in dem nachfolgendem Formular die Datenquelle auswählen und die Art der Prüfung festlegen.

Im Falle der Neueingabe müssen Sie in dem nachfolgendem Formular die Datenquelle auswählen und die Art der Prüfung festlegen. Ereignismanager Ereignismanager Ereignismanager - Grundsätzliches Allgemeines Mit Hilfe des Ereignismanagers können Sie Feldeingaben (bei Neueingaben oder Änderungen) überprüfen lassen. Sie können für

Mehr

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung... 9. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung... 9. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen... Teil I Erste Schritte 1 Einleitung.... 9 1.1 Die Themenschwerpunkte dieses Buches... 9 Visual Basic for Applications... 9 Die Beispiel-Datenbank... 10 1.2 Wie Sie am besten mit diesem Buch arbeiten...

Mehr

Word Grundkurs kompakt. Sabine Spieß 1. Ausgabe, 1. Aktualisierung, Dezember Trainermedienpaket K-WW2013-G_TMP

Word Grundkurs kompakt. Sabine Spieß 1. Ausgabe, 1. Aktualisierung, Dezember Trainermedienpaket K-WW2013-G_TMP Word 2013 Sabine Spieß 1. Ausgabe, 1. Aktualisierung, Dezember 2013 Grundkurs kompakt medienpaket K-WW2013-G_TMP 2 2 Text bearbeiten und formatieren Voraussetzungen Text eingeben und einfache Korrekturen

Mehr

Word 2010 Formulare erstellen mit Inhaltssteuerelementen

Word 2010 Formulare erstellen mit Inhaltssteuerelementen WO.020, Version 1.0 23.09.2013 Kurzanleitung Word 2010 Formulare erstellen mit en Bei der Erstellung von Word-Formularen werden in den meisten Fällen sogenannte Formularfelder eingesetzt, also Platzhalter

Mehr

Das Access-VBA Codebook

Das Access-VBA Codebook Bernd Held Das -VBA Codebook An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Allgemeine VBA- In VBA gibt es Hunderte

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Überlegungen zur Entwicklung von Access- Anwendungen

Überlegungen zur Entwicklung von Access- Anwendungen 37. Wiener Access-Stammtisch am 12. Juni 2006 Überlegungen zur Entwicklung von Access- Anwendungen Prinzipielle Strategien Trennung Funktionalität GUI Abfragen: gespeichert vs. SQL per Code Benennungen

Mehr

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com)

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Kapselung Was ist das? Auszug aus Wikipedia Kapselung ist auch ein wichtiges

Mehr

Einstieg in VBA mit Excel Galileo Press

Einstieg in VBA mit Excel Galileo Press Thomas Theis Einstieg in VBA mit Excel Galileo Press Auf einen Blick 1 Einführung 15 2 Grundlagen von Objekten und Ereignissen 45 3 Grundlagen der Programmierung mit VBA 93 4 Fehlerbehandlung 125 5 Mehr

Mehr

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK)

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK) Eine Einführung in für mathematisch- technische Assistenten / Informatik (IHK) Autor: Michael Wiedau Version vom 30. August 2006 Inhaltsverzeichnis 1. Den Workspace wählen... 3 2. Ein neues Projekt erstellen...

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Fisch schwimmt gegen eine radioaktive Tonne.

Fisch schwimmt gegen eine radioaktive Tonne. Fisch schwimmt gegen eine radioaktive Tonne. Aufgabe: Ein Grafikobjekt ( Fisch ) soll langsam von links nach rechts auf ein zweites Grafikobjekt ( Tonne ) stoßen und nach sofortigem Ableben in die Rückenlage

Mehr

Fusszeile mit Datumsfeld und Dateiname

Fusszeile mit Datumsfeld und Dateiname Fusszeile mit Datumsfeld und Dateiname Für innerbetriebliche Rundschreiben kann es nützlich sein, in der Fusszeile den Namen der Autorin bzw. des Autors und das Datum mit der Uhrzeit als Feld einzufügen.

Mehr

Info Betrifft: VBA, XML, MSXML-DOM Systemanforderungen: VBA-Host- Anwendung + Internet Explorer 5 oder höher Seitenzahl: 5

Info Betrifft: VBA, XML, MSXML-DOM Systemanforderungen: VBA-Host- Anwendung + Internet Explorer 5 oder höher Seitenzahl: 5 XML-Dateien mittels XML-Dom bearbeiten 1 von Helma Spona XML ist zurzeit in aller Munde. Nicht nur dass es ein wesentlicher Teil der.net-strategie von Microsoft ausmacht, auch im Alltag von Office- und

Mehr

Access 2010 Programmierung Funktionen in Access

Access 2010 Programmierung Funktionen in Access Access 2010 Programmierung Funktionen in Access Module... kapseln Code zu einem Thema. sind Container für Code. In dem Container wird eine bestimmte Aufgabe des Gesamtprojekts gelöst. fassen Programmiercode

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

Kurzanleitung zur Benutzung der Entwicklungsumgebung Code::Blocks für die Übung aus Programmieren 1 und 2

Kurzanleitung zur Benutzung der Entwicklungsumgebung Code::Blocks für die Übung aus Programmieren 1 und 2 Kurzanleitung zur Benutzung der Entwicklungsumgebung Code::Blocks für die Übung aus Programmieren 1 und 2 Institut für Mikroelektronik, TU Wien 8. Oktober 2009 Dieses Dokument ist für den schnellen Einstieg

Mehr

Text-Zahlen-Formatieren

Text-Zahlen-Formatieren Text-Zahlen-Formatieren Beobachtung: Bei der Formatierung einer Zahl in eine Textzahl und umgekehrt zeigt Excel ein merkwürdiges Verhalten, welches nachfolgend skizziert werden soll: Wir öffnen eine neue

Mehr

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Array (Feld)... ist aus vielen Variablen, die den gleichen Datentyp besitzen, zusammengesetzt.... fasst Elemente vom gleichen Datentyp zusammen....

Mehr