Literaturverwaltung

Autor: Martin Hoffmann, Düsseldorf

Zur Organisation von Büchern und Zeitschriften in Unternehmen bietet sich eine Literaturverwaltung an, in der die Literatur nicht nur erfasst, sondern auch weiterverarbeitet werden kann. Dazu zählt beispielsweise das automatische Erstellen von Literatur- und Signaturlisten. Der folgende Beitrag beschreibt eine Datenbank, die besondere Zusatzfunktionen enthält, mit denen Sie den Nutzwert für die Anwender wesentlich erhöhen.

Die Literaturverwaltung, die in den folgenden Abschnitten beschrieben wird, soll Ihnen zeigen, wie Sie generell eine Literaturverwaltung aufbauen können. Dabei lernen Sie, wie Sie einfache und komplexe Suchfunktionen in die Datenbank integrieren, wie Sie die Eingabe und Anzeige von Rezensionen gestalten und die Literaturdaten in Form eines Literaturanhangs in Word ausgeben. Außerdem erfahren Sie, wie Sie benutzerabhängige Literaturlisten speichern.

Die folgende Abbildung (siehe Bild 1) zeigt die Hauptformulare der fertigen Literaturverwaltung. Das linke Formular dient der Erfassung der Literatur und das rechte der Verwaltung der Listen.

Bild 1: Die Hauptfenster des Literatur-Managers

Im Folgenden werden die wichtigsten Tabellen der Datenbank und deren Beziehungen kurz erläutert. Neben diesen Tabellen finden Sie in der Datenbank Detailtabellen wie tblDokumenttypen, tblVerlage oder tblBenutzer, deren Felder und Inhalte selbsterklärend sind.

Die Literatur-Tabelle

Die Tabelle tblLiteratur stellt das zentrale Element der Datenstruktur dar. In ihr werden alle Bücher und Zeitschriften mit den wichtigsten Feldern wie Titel, Verlag, Erscheinungsjahr und Dokumenttyp abgelegt. Ferner lassen sich Schlüsselwörter für die spätere Suche definieren. über das Feld IstInternerBestand kennzeichnen Sie ein Buch, das in der eigenen Bibliothek zu finden ist oder das Sie selbst angeschafft haben. Wenn Sie das Kennzeichen weglassen, handelt es sich um ein Buch an einem externen Standort, z. B. in einer Universitätsbibliothek. Bild 2 zeigt alle Felder der Tabelle tblLiteratur.

Autoren

Jedem Werk können mehrere Autoren mit verschiedenen Funktionen (z. B. Autor, Co-Autor etc.) zugewiesen werden. Alle Autoren werden zentral in der Tabelle tblAutoren mit Vor- und Nachnamen einmal gespeichert. Die Verknüpfung zu den Werken erfolgt über die Tabelle tblLiteraturAutoren. In dieser Tabelle wird auch die Funktion festgelegt.

Bild 2: Die Datenfelder der Tabelle tblLiteratur

Standorte und Signaturen

Die Datenbank ist so ausgelegt, dass jedes Werk an mehreren Standorten verfügbar sein kann. Wenn ein Werk zum Beispiel gerade in der hausinternen Bibliothek vergriffen ist, können Sie in der Datenbank die weiteren möglichen Standorte und die Signatur des Werks am jeweiligen Standort einsehen.

Bild 3: Das Datenmodell für Standorte und Signaturen

Die Standorte werden in der Tabelle tblStandorte mit den Feldern Standortname, Beschreibung und Ort gepflegt. In diese Tabelle können Sie auch Standorte eingeben, die sich in Ihrem Unternehmen befinden. Solche Standorte können beispielsweise Abteilungen sein. Die unternehmensinternen Standorte werden über das Feld IstInternerStandort gekennzeichnet.

Die Verknüpfung der Standorte mit den Werken erfolgt mit einer n:m-Beziehung über die Tabelle tblSignaturen (siehe Bild 3). In diese Tabelle geben Sie für jeden Standort eines Werks die Signatur ein.

über die Tabelle tblVerbleiborte können Sie für jedes Werk eine Verteilerliste anlegen. In dieser können für unterschiedliche Zeiträume die Standorte eines Werks abgelegt werden. So könnte eine Verteilerliste für die nächste Ergänzungslieferung oder eine PC-Zeitschrift wie in Tab. 1 aussehen.

Bild 4: Die Tabellenstruktur für Rezensionen

Bild 5: n:m-Beziehung für Verweise zwischen Werken

Standort

Von-Datum

Bis-Datum

EDV Abteilung

1.4.2002

5.4.2002

Vertrieb

8.4.2002

12.4.2002

Marketing

15.4.2002

19.4.2002

Bibliothek

20.4.2002

Tab. 1: Beispiel für Verbleiborte einer PC-Zeitschrift

Rezensionen

Die Literaturverwaltung sieht vor, dass jeder Benutzer der Datenbank eine Wertung zu einem Werk abgeben kann. Dazu werden in der Tabelle tblRezensionen die LiteraturID, die BenutzerID, das Anlagedatum mit Uhrzeit und der Rezensionstext gespeichert. Außerdem kann eine Wertung zwischen 1 (sehr schlecht) und 5 (sehr gut) im Feld WertungID eingegeben werden. Die Wertung wird in diesem Beispiel in einer eigenen Tabelle tblWertungen gespeichert, da nicht die Zahl selbst im Formular erscheinen soll, sondern eine Grafik, welche die Bewertung symbolisiert. Die Grafik wird im OLE-Feld WertungBild abgelegt (siehe Bild 4) und so mit der Wertungszahl verknüpft. Näheres zur Vorgehensweise und zur Formularprogrammierung finden Sie in Abschnitt 5.

Referenzen

Das Verlinken von Werken innerhalb der Datenbank oder das Zusammenfassen von Werken zu Gruppen oder Bänden (z. B. Zeitschriften-Jahrgänge) realisieren Sie über eine n:m-Beziehung der Tabelle tblLiteratur auf sich selbst. Als Zwischentabelle dient die Tabelle tblVerweise, in die die beiden Fremdschlüssel LiteraturID und VerweisLiteraturID sowie eine Bemerkung zu der Verknüpfung eingegeben werden können.

Der Aufbau der Beziehungen ist in Bild 5 dargestellt.

Eine n:m-Beziehung auf sich selbst legen Sie im Beziehungen-Fenster wie folgt an:

  • Fügen Sie die Tabellen tblLiteratur und tblVerweise im Beziehungen-Fenster hinzu.
  • Verknüpfen Sie die Tabellen über das jeweilige LiteraturID-Feld miteinander.
  • Da Sie den Primärschlüssel einer Tabelle nicht mit zwei Fremdschlüsseln der gleichen Tabelle verknüpfen können, fügen Sie die Tabelle tblLiteratur ein zweites Mal hinzu. Die Tabelle erhält im Beziehungen-Fenster den Namen tblLiteratur_1.
  • Bild 6: Aufbau der Literaturlisten-Tabellen

    Bild 7: Das Formular frmLiteratur in der Entwurfsansicht

  • Stellen Sie die Beziehung zwischen der Tabelle tblLiteratur_1 und der Tabelle tblVerweise über das Fremdschlüsselfeld VerweisLiteraturID her.
  • Literaturlisten

    Eine besondere Funktion stellen die benutzerabhängigen Literaturlisten dar. Mit diesen kann jeder Benutzer beliebig viele Liste unterschiedlichster Gruppierung zusammenstellen und verwalten.

    So könnte eine Liste interessante Artikel in PC-Zeitschriften enthalten und eine andere die Literatur für eine Veröffentlichung.

    Die Listen werden in der Tabelle tblLiteraturlisten mit einem Namen und der BenutzerID gespeichert.

    Zu jeder Liste lassen sich dann Positionen hinzufügen, die die Tabelle tblLiteraturlistenPositionen aufnimmt.

    Das Feld Sortierung ist für spätere Zwecke vorgesehen, um die Reihenfolge der Listenelemente manuell zu verändern.

    In dieser Version der Datenbank werden die Listenelemente zunächst alphabetisch nach Titeln sortiert. Bild 6 zeigt die Beziehungen zwischen den Tabellen.

    Nachdem Sie nun die Tabellenstruktur der Datenbank kennen, können Sie mit dem Entwurf des Literaturformulars zur Erfassung der Werke beginnen.

    Gehen Sie dazu wie folgt vor:

  • Legen Sie ein neues Formular mit dem Namen frmLiteratur an, das auf der Tabelle tblLiteratur basiert.
  • Fügen Sie im Detailbereich ein Registersteuerelement mit sechs Registerseiten ein und benennen Sie die Registerseiten gemäß Bild 7.
  • Fügen Sie im Register 1-Allgemein die Basisfelder der Tabelle sowie ein Unterformular für die Autoren ein.
  • Platzieren Sie die Felder Notizen und Bemerkung auf der Registerseite 2-Notizen.
  • Die wichtigsten Felder hätten Sie damit in das Formular aufgenommen.

    Bild 8: Die Literatur-Schnellsuche

    Private Sub btnSuchen_Click()
        Dim rstLiteratursuche As Recordset
        If Nz(txtTitelsuche, "") <> "" Then
            Set rstLiteratursuche = Me.RecordsetClone
            With rstLiteratursuche
                .FindFirst "Titel like ""*" & _                Me!txtTitelsuche & "*"""
                If Not .NoMatch Then
                    Me.Bookmark = .Bookmark
                End If
            End With
        End If
    End Sub

    Quellcode 1

    Hinweis

    Den Aufbau des Unterformulars für Rezensionen finden Sie weiter unten im Abschnitt 5.

    Unterformulare anlegen

    Für die Registerseiten 4, 5 und 6 legen Sie zunächst jeweils ein Formular auf Basis der Tabellen tblSignaturen, tblVerweise und tblVerbleiborte an. Stellen Sie dann die Formulareigenschaft der drei Formulare wie in Tab. 2 ein. Fügen Sie anschließend die Unterformulare auf den entsprechenden Registerseiten ein.

    Titelzeile einfügen

    Das Literaturformular wäre damit fast fertig gestellt. Damit Sie beim Umschalten zwischen den Registerseiten den aktuellen Titel immer im Blick haben, fügen Sie oberhalb des Registers noch ein Textfeld mit dem Namen txtTitel ein.

    Eigenschaft

    Wert

    Standardansicht

    Datenblatt

    Bildlaufleisten

    Nur vertikal

    Datensatzmarkierer

    Nein

    Navigationsschaltflächen

    Nein

    Tab. 2: Formulareigenschaften für die Unterformulare

    Damit das Formular immer den Titel des aktuell angezeigten Werkes anzeigt, fügen Sie beim Formular-Ereignis Beim Anzeigen die folgenden Code-Zeilen ein:

    If Me.NewRecord Then
        Me!txtTitel = "(Neuer Titel)"
    Else
        Me!txtTitel = Me!Titel
    End If

    Die Prozedur prüft, ob es sich um einen neuen Datensatz handelt, und zeigt in diesem Fall den Text (Neuer Titel) an. Wenn ein bestehender Datensatz vorliegt, wird der Inhalt des Feldes Titel im Textfeld angezeigt.

    In die Datenbank werden zwei Suchfunktionen integriert. Zum einen eine Schnellsuche, über die direkt im Formular nach einem bestimmten Titel gesucht werden kann. Zum anderen eine Detailsuche, bei der die unterschiedlichsten Felder wie Autor, Verlag oder Erscheinungsjahr als Suchkriterien eingegeben werden können.

    Schnellsuche

    Die Schnellsuche soll im Formularkopf erfolgen und wird mithilfe des Textfeldes txtTitelsuche und zwei Befehlsschaltflächen btnSuchen und btnWeitersuchen realisiert (siehe Bild 8).

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

    Schreibe einen Kommentar