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

Diesen Artikel jetzt als PDF plus Beispieldatenbank herunterladen?

Wenn Sie sich jetzt für den Newsletter anmelden, erhalten Sie in Kürze eine E-Mail mit dem Artikel im PDF-Format plus Beispieldatenbank.

Hier anmelden:973523

E-Mail:

Anrede:

Vorname:

Nachname:

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.

Einleitung

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 (s. Abb. 1) zeigt die Hauptformulare der fertigen Literaturverwaltung. Das linke Formular dient der Erfassung der Literatur und das rechte der Verwaltung der Listen.

Abb. 1: Die Hauptfenster des Literatur-Managers

Das Datenmodell

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. Abb. 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.

Abb. 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.

Abb. 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 (s. Abb. 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.

Abb. 4: Die Tabellenstruktur für Rezensionen

Abb. 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 (s. Abb. 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 Abb. 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.
  • Abb. 6: Aufbau der Literaturlisten-Tabellen

    Abb. 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. Abb. 6 zeigt die Beziehungen zwischen den Tabellen.

    Das Hauptformular

    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äß Abb. 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.

    Abb. 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.

    Suchfunktionen

    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 (s. Abb. 8).

    Um bei einer Suche den ersten Eintrag zu finden, der den eingegebenen Text enthält, hinterlegen Sie für das Beim Klicken-Ereignis der Schaltfläche btnSuchen den Programmcode aus Quell-code 1.

    Abb. 9: Der Suchen-Dialog in der Entwurfsansicht

    Die Prozedur prüft zunächst, ob im Suchfeld ein Suchtext eingegeben wurde. Die NZ-Funktion testet dabei den Wert Null und Leerzeichenketten ab. Wenn ein Suchtext eingegeben ist, wird der Datenbestand des Formulars in die Variable rstLiteratursuche vom Typ Recordset kopiert. Anschließend führt die Prozedur eine Like-Suche mit der Methode FindFirst durch und ermittelt den ersten Datensatz, der dem Suchkriterium entspricht. Über die Bookmark-Eigenschaft des Formulars wird schließlich auf den Datensatz positioniert.

    Um weitere Werke mit dem gleichen Kriterium zu finden, können Sie fast den identischen Quellcode bei der Schaltfläche btnWeitersuchen verwenden. Sie müssen lediglich die Methode FindFirst gegen die Methode FindNext austauschen.

    Suchen-Dialog

    Für die Detailsuche benötigen Sie ein eigenes Formular, in das Sie die Kriterien eingeben können und eine Ergebnisliste angezeigt bekommen. Gehen Sie dazu folgendermaßen vor:

  • Legen Sie ein neues Formular mit dem Namen frmSuchenDialog an.
  • Fügen Sie die Felder, nach denen Sie suchen möchten, als ungebundene Steuerelemente in das Formular ein. Die in der Beispieldatenbank verwendeten Felder sehen Sie in Abb. 9.
  • Benennen Sie die Felder entsprechend den Namenskonventionen. Im Beispiel wurden die folgenden Felder verwendet: txtTitel, txtAutor, txtSchlagwörter, cmbVerlag, txtVonJahr, txtBisJahr, txtISBNISSN, cmbDokumentTyp und chkIstEigenerBestand.
  • Fügen Sie die Schaltflächen btnSuchen, btnÖffnen und btnSchließen in das Formular ein.
  • Legen Sie ein Listenfeld mit dem Namen lstErgebnisliste an, in dem das Suchergebnis dargestellt wird.
  • 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:

    Diesen Artikel jetzt als PDF plus Beispieldatenbank herunterladen?

    Wenn Sie sich jetzt für den Newsletter anmelden, erhalten Sie in Kürze eine E-Mail mit dem Artikel im PDF-Format plus Beispieldatenbank.

    Hier anmelden:

    E-Mail:

    Anrede:

    Vorname:

    Nachname:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.