Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 2/2003.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Fahrtenbuch

André Minhorst, Duisburg

Verschiedenste Gründe können das Führen eines Fahrtenbuchs erforderlich machen - egal, ob es sich um den Firmenwagen eines Angestellten oder das Privatfahrzeug eines Selbstständigen handelt. In den meisten Fällen steht hinter dieser Verpflichtung die Forderung des Finanzamts nach einem Nachweis der gefahrenen Strecken, falls Sie geschäftliche Fahrtkosten steuerlich absetzen möchten. Dabei gibt es eine ganze Menge Regeln zu beachten, die sowohl die Art der benötigten Informationen als auch deren Präsentation beeinflussen. Im vorliegenden Beitrag erfahren Sie nicht nur, welche Informationen in einem ordentlichen Fahrtenbuch aufzuführen sind, sondern auch, wie Sie sich die Arbeit per Access-Datenbank erleichtern können.

Grundlagen

In der Regel ist es das Finanzamt, welches das Führen eines Fahrtenbuchs anordnet. Das Fahrtenbuch dient dabei als Nachweis für dienstlich gefahrene Strecken, die steuerlich abgesetzt werdenkönnen.

Natürlich gibt es bei der Führung eines Fahrtenbuchs einige Regeln zu beachten, die in den nächsten Abschnitten in einer Art Theorie-Teil beschrieben werden.

Daten im Fahrtenbuch

Ein Fahrtenbuch muss gemäß R31 Abs. 9 Nr. 2 Satz 3 LStrR 2002 folgende Informationen zu jeder Fahrt enthalten:

  • Datum und Kilometerstand bei Fahrtbeginn
  • Datum und Kilometerstand bei Fahrtende
  • Reiseziel, -zweck und aufgesuchte Geschäftspartner
  • Informationen über Umwege
  • Abgeleitet von den genannten Informationen und um einige weitere Punkte ergänzt, ergeben sich für die vorliegende Anwendung die in Tab. 1 aufgelisteten Daten. Die dort aufgelisteten Abkürzungen unter "Nötig für" stehen für dienstlich (D), Fahrten zwischen Wohnort und Arbeitsstätte (F) und privat (P).

    Information

    Nötig für

    Kfz-Kennzeichen

    D/F/P

    Datum bei Fahrtbeginn (Uhrzeit nicht notwendig)

    D/F

    km-Stand bei Fahrtbeginn

    D/F/P

    Abfahrtsort

    D/F

    Datum bei Fahrtende

    D/F

    km-Stand bei Fahrtende

    D/F

    Zielort

    D/F

    Gefahrene Strecke

    D/F/P

    Name des Fahrers

    D/F/P

    Nutzungsart (D, F oder P)

    D/F/P

    Fahrtzweck (dienstliche Veranlassung, z. B. Name des Gesprächspartners)

    D

    Tab. 1: Informationen eines Fahrtenbuchs

    Hinweis

    Privatfahrten sind ohne Einzelnachweis als Strecke zwischen der jeweils letzten und nachfolgend definierten Fahrt aufzuführen. (

    Voraussetzungen für die
    Anwendung

    Das Fahrtenbuch besitzt eine interessante Eigenschaft: Im Gegensatz zu anderen Anwendungen, bei denen Daten der Anwender vor dem Zugriff Fremder geschützt werden sollen, sind hier die eingegebenen Daten vor dem Anwender selbst zu schützen. Was sich seltsam anhört, hat folgenden Hintergrund: Die Einträge des Fahrtenbuchs dürfen nach dem Anlegen nicht mehr geändert werden.

    Unter Access ist das prinzipiell kein Problem: Sie erstellen einfach eine Anwendung, die alle gewünschten Funktionen eines elektronischen Fahrtenbuchs aufweist und sichern sie mit Hilfe des Sicherheitssystems von Access. Das Sichern bezieht sich dabei lediglich auf die Tabellen, die zur Speicherung der relevanten Daten dienen.

    Dabei vergeben Sie für die entsprechenden Tabellen die Rechte derart, dass zwar noch das Anlegen neuer Datensätze, nicht aber das Verändern oder Löschen bestehender Datensätze möglich ist. Das Sicherheitssystem bietet alle dafür erforderlichen Funktionen.

    Die Sache hat aber einen kleinen Haken: Es gibt immer eine Person, die in der Lage ist, die Daten zu ändern: der Administrator, der die Berechtigungen festgelegt hat und außerdem das Passwort kennt, um die Berechtigungen rückgängig zu machen und anschließend die Fahrtenbucheinträge zu ändern. Wenn also die selbst erstellte Fahrtenbuchanwendung dem Finanzamt gegenüber als ‚sicher’gelten soll, könnte das im Falle einer Betriebsprüfung möglicherweise schief gehen.

    Hinweis

    Auf der Heft-CD befindet sich die geschützte Version einer Fahrtenbuchanwendung, die keine nachträgliche Änderung der Fahrtenbucheinträge erlaubt. Den Benutzernamen und das Kennwort kennt nur eine Person - und wer das ist, wird nicht verraten ... (

    Beschreibung der Anwendung

    In den folgenden Abschnitten lernen Sie die Funktionsweise der Anwendung kennen.

    Hinweis

    Eine gesicherte und jungfräuliche Fahrtenbuchanwendung befindet sich unter dem Dateinamen Fahrtenbuch97.mdb bzw. Fahrtenbuch2000.mdb auf der Heft-CD. Eingegebene Fahrtenbuchdaten können theoretisch nicht mehr verändert oder gelöscht werden. Da der Autor keine Haftung dafür übernehmen kann, dass Ihr Finanzamt und andere Institutionen das Fahrtenbuch anerkennen, so sollten Sie sich dort grünes Licht geben lassen, bevor sie es für amtliche Zwecke verwenden. (

    Erste Schritte

    Wenn Sie die Fahrtenbuchanwendung zum ersten Mal starten, enthält sie natürlich noch keine Daten.

    Dementsprechend fordert die Anwendung Sie zunächst einmal auf, die Daten zumindest eines Fahrzeugs einzugeben.

    Fahrzeuge eingeben

    Die Eingabe der Fahrzeuge erfolgt über einen eigenen Dialog, in den Sie beliebig viele Fahrzeuge mit dem Startkilometerstand und einer Fahrzeugbeschreibung (z. B. Angabe des Fahrzeugtyps) eintragen können (s. Abb. 1).

    Für das Feld km-Stand geben Sie den Kilometerstand ein, dem der erste Eintrag in das Fahrtenbuch entsprechen soll.

    Hinweis

    Der Benutzer kann nachträglich die Daten der Fahrzeuge bearbeiten. Die Änderungen wirken sich allerdings nicht auf bereits eingegebene Fahrtenbuchdaten aus, sondern nur auf zukünftige Einträge. (

    Abb. 1: Anlegen eines neuen Fahrzeugs

    Nach der Eingabe eines oder mehrerer Fahrzeuge und dem Schließen des Fensters Fahrzeugdaten erscheint das Hauptfenster der Anwendung (s. Abb. 2).

    Von diesem Fenster aus steuern Sie alle weiteren Aktionen. Der erste Schritt besteht in der Eingabe einer Fahrt.

    Fahrten eingeben

    Mit der Schaltfläche Neue Fahrt anlegen öffnen Sie den Dialog zum Anlegen einer neuen Fahrt (s. Abb. 3).

    Abb. 2: Das Hauptfenster der Anwendung

    Falls Sie bisher noch keine Fahrer eingegeben haben, erscheint nun eine entsprechende Meldung. Nach ihrer Bestätigung öffnet sich das Formular zur Eingabe von Fahrerdaten (s. Abschnitt 2.4). (

    Der Dialog enthält bereits einige Voreinstellungen: Das Kennzeichen des Fahrzeugs, das aktuell im Hauptfenster der Anwendung ausgewählt ist, das Datum bei Fahrtbeginn und Fahrtende sowie den Kilometerstand bei Fahrtbeginn. Als Datum für Fahrtbeginn und -ende nimmt die Anwendung das aktuelle Datum an, da Fahrten über mehrere Tage unwahrscheinlich und in der Regel am gleichen Tag einzutragen sind.

    Abb. 3: Anlegen einer neuen Fahrt

    Abb. 4: Eingabe von Fahrerdaten

    Abb. 5: Parameter des Fahrtenbuchs festlegen

    Als Kilometerstand bei Fahrtbeginn verwendet die Anwendung den Kilometerstand des Fahrzeugs nach dem Ende der vorherigen Fahrt oder - falls es sich um die erste Fahrt handelt - die mit den Fahrzeugdaten eingegebene Kilometerzahl.

    Wenn Sie einen Fahrer auswählen möchten, der sich nicht in dem Kombinationsfeld Fahrer befindet, klicken Sie auf die Schaltfläche rechts neben dem Feld. Es erscheint der Dialog zur Eingabe neuer Fahrer.

    Die Auswahl der Nutzungsart Privat bewirkt, dass einige Felder des Formulars grau hinterlegt dargestellt werden. Das bedeutet, dass diese Felder keine Pflichtfelder sind.

    Nach der Eingabe aller relevanten Daten können Sie die Eingabe mit der Schaltfläche Speichern bestätigen. Das Formular wird geschlossen und die neue Fahrt erscheint im Hauptformular.

    Fahrerdaten eingeben

    Zum Anlegen eines neuen Fahrers ist lediglich die Eingabe von Vor- und Nachname erforderlich. Anschließend beenden Sie die Eingabe mit einem Mausklick auf die Schaltfläche Ok.

    Nach dem Schließen des Formulars können Sie im Formular zur Eingabe der Fahrten alle vorhandenen Fahrer per Kombinationsfeld auswählen.

    Fahrtenbuch ausdrucken

    Mit einem Mausklick auf die Schaltfläche Liste drucken öffnen Sie einen Dialog zur Auswahl der Einstellung des auszudruckenden Fahrtenbuchs (s. Abb. 5).

    In diesem Dialog können Sie festlegen, ob die Fahrten eines oder aller Fahrzeuge ausgegeben werden sollen, und im Falle der Einzelausgabe das gewünschte Fahrzeug festlegen. Außerdem enthält das Formular zwei Textfelder zur Eingabe von Start- und Enddatum und die Möglichkeit, die auszugebenden Fahrten nach dienstlichem oder privatem Anlass zu filtern.

    Abb. 6: Bericht zur Ausgabe des Fahrtenbuchs

    Abb. 7: Eingabe von Tankvorgängen

    Nach der Eingabe der Parameter erscheint der gewünschte Bericht mit allen relevanten Informationen (s. Abb. 6).

    Neben der Auflistung der einzelnen Fahrten enthält der Bericht die Summe der privat, dienstlich und insgesamt gefahrenen Kilometer.

    Eingabe von Verbrauchsdaten

    Neben der Registerseite zur Verwaltung der Fahrten beinhaltet das Hauptformular noch zwei weitere Registerseiten. Das erste dient der Eingabe von Tankvorgängen und der Ausgabe von Verbrauchszahlen der Fahrzeuge (s. Abb. 7).

    Mit Hilfe dieser Registerseite können Sie sowohl detaillierte Informationen zu einzelnen Tankvorgängen eingeben als auch den Verbrauch zuverlässig berechnen lassen.

    Die Berechnung des Verbrauchs erfordert zwei Kennzahlen: die verbrauchte Menge Benzin und die mit der verbrauchten Menge zurückgelegte Strecke. Eine zuverlässige Bestimmung des Benzinverbrauchs ist nur zwischen zwei Vollbetankungen möglich. Daher enthält das Formular auf der Registerseite Verbrauchsdaten neben den üblichen Informationen zu einem Tankvorgang auch noch ein Ja/Nein-Feld, mit dem Sie angeben können, ob das Fahrzeug beim angegebenen Tankvorgang vollgetankt wurde.

    Abb. 8: Ausgabe von Tankinformationen

    Ausgabe von Tankvorgängen und Benzinverbrauch

    Abb. 9: Verwaltung von Ausgaben

    Mit einem Mausklick auf die Schaltfläche Tankinformationen drucken können Sie eine Liste von Tankvorgängen und Verbrauchszahlen ausgeben (s. Abb. 8).

    Verwaltung von
    Ausgaben

    Das dritte Registerblatt des Registers auf dem Hauptformular dient der Eingabe von Ausgaben und deren Ausdruck (s. Abb. 9).

    Hier können Sie solche Ausgaben wie Kosten für Waschanlage, Inspektionen, Reparaturen, Anschaffung von Ersatzteilen und Zubehör etc. eintragen.

    Das Datenmodell

    Das Datenmodell der Anwendung beinhaltet sieben Tabellen. Untypischerweise sind nicht alle Tabellen miteinander verknüpft. Vor allem die Haupttabelle tblFahrten steht allein auf weiter Flur.

    Neben der Tabelle tblFahrten gibt es einige Tabellen, die in einigen Formularen zur Auswahl der Werte für die Felder der Tabelle tblFahrten verwendet werden: Die Tabelle tblNutzungsarten enthält beispielsweise die Einträge privat, dienstlich und von und zur Arbeit.

    Abb. 10: Datenmodell der Fahrtenbuchanwendung

    Abb. 11: Die Abfrage qryTankvorgaenge

    Außerdem enthält die Tabelle tblFahrten Einträge aus den Tabellen tblFahrzeuge und tblFahrer.

    Feste Verknüpfungen bestehen zwischen den Tabellen tblTankvorgaenge und tblTreibstoffarten, um den einzelnen Tankvorgängen die entsprechende Treibstoffart zuordnen zu können.

    Die Tabelle tblFahrzeuge ist mit den beiden Tabellen tblTankvorgaenge und tblAusgaben verknüpft.

    Besonderheiten des Datenmodells

    Der Grund für die fehlenden Verknüpfungen zwischen der Tabelle tblFahrten und anderen Tabellen wie z. B. tblFahrzeug, tblFahrer, tblNutzungsarten etc. liegt darin, dass alle Werte aus den - eigentlich verknüpften - Tabellen direkt in die Tabelle tblFahrten eingetragen werden, anstatt per Fremdschlüsselfeld von dieser Tabelle auf den entsprechenden Eintrag einer mit dieser Tabelle verknüpften Tabelle zu verweisen.

    Die Einträge der Tabelle tblFahrten sollen aufgrund der besonderen Anforderungen an ein elektronisches Fahrtenbuch nach dem Anlegen nicht mehr veränderbar sein. Um eventuellen Änderungen der Informationen der anderen Tabellen vorzubeugen, werden diese direkt in die Tabelle tblFahrten geschrieben.

    Beispiele für solche Änderungen könnten z. B. das Wegfallen eines Fahrzeuges oder eines Fahrers aus dem Datenbestand sein.

    Praxis-Tipp

    Tabellen ohne Verknüpfungen zu anderen Tabellen haben weitere Vorteile: Sie können eine solche Tabelle beispielsweise leicht nach Excel exportieren, ohne die Informationen aus den verknüpften Tabellen erst per Abfrage hinzufügen zu müssen. Die Vorgehensweise widerspricht allerdings prinzipiell jeglicher vernünftiger Datenmodellierung - aber Ausnahmen bestätigen die Regel. (

    Die Abfrage zur Berechnung des Verbrauchs

    Eine der interessanten Anwendungen ist die Berechnung des Benzinverbrauchs. Die Funktionalität steckt komplett in der Abfrage qryTankvorgaenge (s. Abb. 11).

    Die Abfrage besteht aus nahezu allen Feldern der drei Tabellen tblTankvorgaenge, tblTreibstoffarten und tblFahrzeuge.

    Interessant ist dabei die Berechnung des Verbrauchs. Wie bereits oben erwähnt, kann der Verbrauch zuverlässig nur zwischen zwei Vollbetankungen berechnet werden.

    kmStandLetzteVollbetankung:
    DomMax("kmStand";"tblTankvorgaenge";
    "kmStand < " & [kmStand] & " AND Vollgetankt = True 
    AND tblTankvorgaenge.FahrzeugID = " & [tblTankvorgaenge].[FahrzeugID])

    Quellcode 1

    SummeLiterSeitLetzterVollbetankung:
    Wenn([Vollgetankt]=Wahr Und [TankvorgangID]>DomMin("TankvorgangID";
    "tblTankvorgaenge";"FahrzeugID = " & [tblTankvorgaenge].[FahrzeugID]);
    DomSumme("Liter";"tblTankvorgaenge";
    "kmStand <= " & [kmStand] & " AND kmStand > " & [kmStandLetzteVollbetankung] 
    & " AND FahrzeugID = " & [tblTankvorgaenge].[FahrzeugID]);

    "")

    Quellcode 2

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Verwandte Beiträge:

    Lastschrifteinzug per Datenträgeraustausch

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.