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 1/2002.

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

Verleihen und Entleihen mit
Access und Outlook

Autor: André Minhorst, Duisburg

Das Entleihen und Verleihen spielt im Berufs- wie auch im Privatleben eine große Rolle. Wer kauft sich schon alles selbst, wenn ein Freund, Bekannter oder Arbeitskollege den gewünschten Gegenstand besitzt und man diesen nur für kurze Zeit benötigt? Und hier fangen die Sorgen an: Je mehr man entleiht und verleiht, desto eher verliert man den Überblick, wem was gehört und wem man was geliehen hat. Um Ordnung in die Welt des Leihens zu bringen, verwenden Sie - wie soll es schon anders sein - natürlich eine Datenbankanwendung.

Falls Sie beispielsweise eine umfangreiche CD- oder Videosammlung mit offenem Zugang für Freunde und Arbeitskollegen besitzen oder selbst gerne mal Bücher aus der Bibliothek leihen, es ist immer gut zu wissen, welche Ihrer Besitztümer kurz- oder langfristig ihren Standort gewechselt haben, wo sie sich befinden und vor allem bis wann. Das gilt natürlich auch für Dinge, die Sie selbst entliehen haben.

Interessant ist dabei vor allem die Möglichkeit, hin und wieder an die Fälligkeit der Bücher aus der Stadtbibliothek erinnert zu werden, und es ist auch schön, wenn man nicht erst nach einem halben Jahr den Videofilm in seiner Sammlung findet, den man nur für ein Wochenende leihen wollte.

Hinweis

Eine komplette Anleitung zum Erstellen der hier vorgestellten Datenbank würde den Rahmen des Beitrags bei weitem sprengen. Daher verweist der Beitrag hin und wieder darauf, den Quellcode in der Beispieldatenbank einzusehen. (

Aufgaben der Verleihdatenbank

Um diesen alltäglichen und nervenden Problemen aus dem Weg zu gehen, verwenden Sie eine Datenbankanwendung. Mit Hilfe geeigneter Formulare können Sie eingeben, wann Sie was von wem entliehen haben und wann Sie es zurückgeben möchten bzw. müssen. Das Gleiche gilt für die andere Richtung: Auch die verliehenen Gegenstände soll die Datenbank aufnehmen.

Und damit das Ganze richtig praktisch wird, ziehen Sie Microsoft Outlook hinzu: Auf Knopfdruck soll die Access-Datenbank einen Eintrag in Ihrem Terminkalender erstellen, der Sie rechtzeitig an die Rückgabe erinnert.

Das Datenmodell

Das Datenmodell besteht im Groben aus drei Tabellen. Dabei handelt es sich um die Tabellen tblPersonen, tblGegenstaende und tblVerleih.

Die Tabellen

In den folgenden Abschnitten erhalten Sie einen Überblick über die Tabellen der Datenbank und deren Beziehungen.

Die Tabelle tblKontakte

Die Tabelle tblKontakte soll nicht nur Personen, sondern auch Institutionen wie die Bibliothek, den Videoverleih und andere aufnehmen - also einfach alles und jeden, mit dem Sie irgendwie in ein Leihgeschäft verwickelt werden können.

Um die Struktur der Tabelle möglichst einfach zu halten, soll sie neben dem Namen der Institution oder der Person lediglich die Adressdaten sowie Telefonnummer, Faxnummer und E-Mailadresse enthalten (s. Abb. 1).

Die Tabelle tblGegenstaende

Die Tabelle tblGegenstaende beinhaltet alle Gegenstände, die Sie verleihen oder entleihen. Auch hier sollen zunächst zur die unbedingt benötigten Informationen gespeichert werden (s. Abb. 2).

Abb. 1: Felder der Tabelle tblKontakte

Abb. 2: Die Tabelle tblGegenstaende

Abb. 3: Die Tabelle tblVerleih

Die Tabelle tblVerleih

Die Tabelle tblVerleih (s. Abb. 3) verbindet die beiden Tabellen tblKontakte und tblGegenstaende miteinander. Sie ist der eigentliche Kern des Datenmodells. Jeder Datensatz der Tabelle enthält einen Verweis auf einen Kontakt, der in den Leihvorgang verwickelt ist, einen Verweis auf den entsprechenden Gegenstand sowie einige weitere Informationen.

Dazu gehören das Verleihdatum, das Datum, an dem die Rückgabe spätestens erfolgen soll, sowie das Datum der tatsächlichen Rückgabe. Da die Datenbank auch die Möglichkeit einer Fristverlängerung berücksichtigen soll, enthält diese Tabelle ein Feld für die Angabe der Anzahl der Verlängerungen. Schließlich enthält sie noch das Feld AnOutlook, in dem gespeichert wird, ob der Rückgabetermin in den Outlook-Kalender eingetragen werden soll.

Weitere Tabellen

Es gibt noch zwei weitere Tabellen, die allerdings nur als Hilfstabellen zu betrachten sind: Die Tabelle tblGeliehenOderVerliehen enthält lediglich die beiden Einträge Geliehen und Verliehen. Sie dient als Datensatzherkunft für das Nachschlagefeld GeliehenOderVerliehenID der Tabelle tblVerleih.

Die Tabelle tblGegenstandArten enthält die unterschiedlichen Kategorien zur genaueren Einteilung der Gegenstände.

Die Beziehungen zwischen den
Tabellen

Wenn Sie die Tabellen erstellt haben, können Sie die Beziehungen zwischen den Tabellen einstellen. Als Vorlage dient das Beziehungsfenster aus Abb. 4.

Legen Sie in den Eigenschaften der Beziehungen jeweils referentielle Integrität fest.

Die vier Beziehungen werden in den Tabellen jeweils als Nachschlagefelder ausgeführt. Zur Erstellung der Nachschlagefelder können Sie entweder den Assistenten verwenden oder die Eigenschaften von Hand einstellen.

Abb. 4: Beziehungsfenster der Datenbank

Abb. 5: Nachschlage-Eigenschaften der Tabelle tblGegenstaende

Abb. 6: Datensatzherkunft des Nachschlagefeldes GegenstandArtID

Für die zweite Möglichkeit führen Sie die folgenden Schritte aus (hier am Beispiel der Tabelle tblGegenstaende, deren Feld GegenstandArtID als Nachschlagefeld für die Datensätze der Tabelle tblGegenstandArten dient):

  • Öffnen Sie die Tabelle tblGegenstaende in der Entwurfsansicht.
  • Wechseln Sie im Bereich Feldeigenschaften in das Register Nachschlagen.
  • Stellen Sie dort die Eigenschaften wie in Abb. 5 ein.
  • Für das Einstellen der Eigenschaft Datensatzherkunft verwenden Sie den Abfrage-Editor. Klicken Sie dazu in das Feld Datensatzherkunft und betätigen Sie die nun erscheinende Schaltfläche mit den drei Punkten (...).
  • Erstellen Sie die Abfrage entsprechend Abb. 6 und schließen Sie den Editor.
  • Die verwendete Abfrage enthält in der Regel das Primärindexfeld der Tabelle sowie das oder die Felder, die das Nachschlagefeld anzeigen soll - in diesem Fall das Feld GegenstandArtID und das anzuzeigende Feld GegenstandArt.

    Legen Sie auf die gleiche Weise die Eigenschaften der anderen Nachschlagefelder fest. Es gibt lediglich eine Besonderheit bei dem Nachschlagefeld KontaktID der Tabelle tblVerleih, das zur Auswahl eines Datensatzes der Tabelle tblKontakte dient. Normalerweise soll ein Nachschlagefeld immer den Inhalt eines festen Feldes der verknüpften Tabelle anzeigen.

    Die Tabelle tblKontakte kann aber unter Umständen nur einen Eintrag im Feld Institution oder einen Eintrag in den Feldern Nachname und Vorname enthalten.

    Das Nachschlagefeld soll - falls vorhanden - die Institution und ansonsten Nachname und Vorname des Kontaktes anzeigen. Dazu verwenden Sie die folgende Abfrage:

    SELECT KontaktID, IIf(Not IsNull

        ([Institution]),[Institution],

        [Nachname] & IIf(Not IsNull

        ([Vorname]),", " & [Vorname],"")) 

        AS Kontakt

    FROM tblKontakte;

    Die Abfrage enthält das übliche Primärindexfeld - aber statt des üblicherweise konkret ausgewählten anzuzeigenden Feldes einen IIf-Ausdruck, der das Vorhandensein eines Eintrags in das Feld Institution überprüft. Falls vorhanden, gibt der IIf-Ausdruck die Institution zurück, ansonsten einen Ausdruck der Form Nachname, Vorname.

    Hinweis

    Sparen Sie sich die Mühe, nun direkt einige Datensätze einzugeben. Sie werden im nächsten Kapitel für die Eingabe aller notwendigen Daten entsprechende Formulare erstellen. Sie sollten lediglich für die Tabelle tblGeliehenOderVerliehen zwei Datensätze entsprechend Abb. 7 eingeben. (

    Die Formulare der
    Verleihverwaltung

    Die Verleihverwaltung enthält insgesamt sechs Formulare, die in den folgenden Abschnitten beschrieben werden.

    Abb. 7: Die Daten der Tabelle tblGeliehenOderVerliehen

    Abb. 8: Das Hauptmenü der Verleihverwaltung

    Abb. 9: Entwurfsansicht des Formulars frmNeuerKontakt

    Das Hauptmenü

    Als Startformular dient das Formular frmHauptmenue (s. Abb. 8). Es steuert den Aufruf der unterschiedlichen Funktionen der Datenbank. Das sind im Wesentlichen die Eingabe von Leihvorgängen und die Anzeige von Verleih- und Entleihvorgängen.

    Die beiden Schaltflächen btnListeVerliehen und btnListeGeliehen rufen das gleiche Formular namens frmListe auf. Um dennoch unterschiedliche Inhalte mit dem Formular anzuzeigen, verwendet der Formularaufruf erstens eine entsprechende Where-Bedingung und zweitens ein Öffnungsargument:

    Private Sub btnListeVerliehen_Click()

        DoCmd.OpenForm "frmListe", 
            WhereCondition:=
            "[GeliehenOderVerliehenID]=1",
            OpenArgs:=1

    End Sub

    Die Where-Bedingung schränkt die Datenherkunft des aufgerufenen Formulars ein, während das Öffnungsargument lediglich die Zahl übergibt, die einem der beiden Datensätze der Tabelle tblGeliehenOderVerliehen entspricht. Die Funktion des Öffnungsargumentes wird in Abschnitt 3.5 genauer beschrieben.

    Das Formular zur Eingabe von
    Kontakten

    Das Formular frmNeuerKontakt dient der Eingabe neuer Kontakte, an die Sie etwas verleihen oder von denen Sie etwas entleihen möchten.

    Das Formular hat die Tabelle tblKontakte als Datenherkunft. Sie können die Felder der Tabelle aus der Feldliste wie in Abb. 9 in den Detailbereich des Formulars ziehen.

    Anschließend erstellen Sie die beiden Schaltflächen. Geben Sie ihnen die Namen btnSpeichern und btnAbbrechen.

    Der Quellcode hinter der Schaltfläche Abbrechen schließt das Formular nach dem Verwerfen des aktuellen Datensatzes. Legen Sie die Prozedur aus Quellcode 1 für die Ereigniseigenschaft Beim Klicken der Schaltfläche btnAbbrechen an.

    Private Sub btnSpeichern_Click()

        If IsNull(Me.Institution) And IsNull(Me.Nachname) _
            Then

            MsgBox "Bitte füllen Sie mindestens eines " _
                & "der beiden Felder Institution oder " _
                & "Nachname aus."

            Exit Sub

        End If

        RunCommand acCmdSaveRecord

        Me.Visible = False

    End Sub

    Quellcode 2

    Abb. 10: Entwurfsansicht des Formulars frmNeuerGegenstand

    Hinweis

    Weitere Informationen zum Anlegen von Ereignisprozeduren finden Sie im Beitrag Anlegen von Ereignisprozeduren im vorliegenden Heft. (

    Das Betätigen der Schaltfläche Speichern
    (s. Quellcode 2) bewirkt zunächst eine Überprüfung, ob mindestens das Feld Institution oder Nachname ausgefüllt ist. Die Prozedur läuft nur weiter, wenn mindestens einer der beiden Werte vorhanden ist. Anderenfalls erscheint eine entsprechende Meldung.

    Wenn die benötigten Daten vorhanden sind, speichert die Prozedur den Datensatz und setzt die Eigenschaft Visible des Formulars auf den Wert False.

    Private Sub btnAbbrechen_Click()

        Me.Undo

        DoCmd.Close acForm, Me.Name

    End Sub

    Quellcode 1

    Der Hintergrund ist, dass dieses Formular in der Regel von einem anderen Formular aufgerufen wird, welches nach dem Speichern des Datensatzes noch auf die eingegebenen Werte des Formulars zugreifen soll.

    Das Formular zur Eingabe von
    Gegenständen

    Ähnlich aufgebaut ist das Formular frmNeuerGegenstand (s. Abb. 10). Es besitzt als Datenherkunft die Tabelle tblGegenstaende. Die Schaltflächen Speichern und Abbrechen besitzen eine Funktionalität, die fast mit der Funktionalität der entsprechenden Schaltflächen des Formulars frmNeuerKontakt identisch ist. Daher soll deren Funktion hier nicht erneut beschrieben werden.

    Ein Unterschied ist das Vorhandensein eines Kombinationsfeldes zur Auswahl der Art des neuen Gegenstandes aus der Tabelle tblGegenstandArten. Eigentlich dienen Kombinationsfelder der Auswahl von bestimmten Werten - in manchen Fällen ist aber auch das Eingeben neuer Werte erforderlich. Damit dazu kein neues Formular geöffnet werden muss, erledigen Sie das direkt im Kombinationsfeld.

    Dazu verwenden Sie eine Prozedur, die Sie für die Ereigniseigenschaft Bei Nicht In Liste anlegen. Sie finden die Prozedur im Klassenmodul des Formulars frmGegenstaende in der Beispieldatenbank. Es dient dazu, im Falle der Eingabe eines noch nicht vorhandenen Eintrages einen neuen Datensatz anzulegen und ihn mit dem eingegebenen Wert zu füllen.

    Das Formular zur Eingabe der
    Leihvorgänge

    Das Formular frmLeihvorgang ist das Kernstück der Eingabe von neuen Leihvorgängen. Hier geben Sie neue Leihvorgänge ein, und von hier aus können Sie die Formulare zur Eingabe von neuen Kontakten und Gegenständen öffnen. Als Datenherkunft des Formulars dient die Tabelle tblVerleih.

    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:

    Outlook und Access - Import und Export von Access-Daten

    Outlook: Mails

    Flexible Datumstextfelder

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.