Base
 

Kapitel 7
Datenbank-Anbindung

Copyright

Dieses Dokument unterliegt dem Copyright © 2015. Die Beitragenden sind unten aufgeführt. Sie dürfen dieses Dokument unter den Bedingungen der GNU General Public License (http://www.­gnu.org/licenses/gpl.html), Version 3 oder höher, oder der Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), Version 3.0 oder höher, verändern und/oder weitergeben.

Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.

Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben, die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt.

Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das Symbol (R) in diesem Buch nicht verwendet.

Mitwirkende/Autoren

Robert Großkopf

Jost Lange

Jochen Schiffers

Michael Niedermair

 

 

Rückmeldung (Feedback)

Kommentare oder Vorschläge zu diesem Dokument können Sie in deutscher Sprache an die Adresse discuss@de.libreoffice.org senden.

Vorsicht

Alles, was an eine Mailingliste geschickt wird, inklusive der E-Mail-Adresse und anderer persönlicher Daten, die die E-Mail enthält, wird öffentlich archiviert und kann nicht gelöscht werden. Also, schreiben Sie mit Bedacht!

Datum der Veröffentlichung und Softwareversion

Veröffentlicht am 15.2.2017. Basierend auf der LibreOffice Version 5.3.

Anmerkung für Macintosh Nutzer

Einige Tastenbelegungen (Tastenkürzel) und Menüeinträge unterscheiden sich zwischen der Macintosh Version und denen für Windows- und Linux-Rechnern. Die unten stehende Tabelle gibt Ihnen einige grundlegende Hinweise dazu. Eine ausführlichere Aufstellung dazu finden Sie in der Hilfedatei des jeweiligen Moduls.

Windows/Linux

entspricht am Mac

Effekt

Menü-Auswahl Extras → Optionen

LibreOffice → Einstellungen

Zugriff auf die Programmoptionen

Rechts-Klick

Control+Klick

Öffnen eines Kontextmenüs

Ctrl (Control)

oder Strg (Steuerung)

(Command)

Tastenkürzel in Verbindung mit anderen Tasten

F5

Shift++F5

Öffnen des Dokumentnavigator-Dialogs

F11

+T

Öffnen des Formatvorlagen-Dialogs

Inhalt

Allgemeines zur Datenbank-Anbindung

Anmeldung der Datenbank

Datenquellenbrowser

Daten in Text

Daten in Felder

Seriendruck

Aktuelle Dokument-Datenquelle

Explorer ein/aus

Serienbrieferstellung

Erstellung von Etiketten

Serienbriefe und Etiketten direkt erstellen

Serienbrieffelder mit der Maus erstellen

Serienbrieffelder über Feldbefehle erstellen

Externe Formulare

Vorteil externer Formulare

Nachteil externer Formulare

Datenbanknutzung in Calc

Daten in Calc einfügen

Daten aus Calc in eine Datenbank exportieren

Daten von einer Datenbank zu einer anderen konvertieren

Daten über die Zwischenablage in eine Tabelle einfügen

Datenimport aus PDF-Formularen

Erstellen eines PDF-Formulars

Auslesen der Daten aus dem PDF-Formular

 

 

Allgemeines zur Datenbank-Anbindung

Base lässt sich in LibreOffice Writer und LibreOffice Calc auf verschiedene Weise als Datenquelle nutzen. Die Nutzung von Base ist dabei nicht unbedingt an eine Anmeldung der Datenbank in den Einstellungen von LibreOffice gebunden. So interagieren externe Formulare auch direkt mit Base, sofern dort als Datenquelle der Weg zur Datenbank angegeben wird.

Anmeldung der Datenbank

Für viele Funktionen wie z.B. die Nutzung beim Etikettendruck, die Nutzung von Daten für Serienbriefe usw. ist die Anmeldung einer Datenbank in den Einstellungen von LibreOffice notwendig.

Über Extras → Optionen → LibreOffice Base → Datenbanken → Neu lässt sich eine Datenbank für den weitergehenden Gebrauch in anderen LibreOffice-Komponenten anmelden.

 

Die Datenbank wird über den Dateibrowser gesucht und auf ähnliche Weise mit LibreOffice verknüpft wie sonst bei einem einfachen Formular. Der Datenbank selbst wird allerdings ein eingängigerer Name gegeben, der ohne weiteres anders lauten kann als der Name der eigentlichen Datenbankdatei. Die Namensbezeichnung ist so etwas wie ein Alias-Name, was ja auch bei Abfragen in Datenbanken vergeben werden kann.

Datenquellenbrowser

Über den Datenquellenbrowser erhalten sie Zugriff auf Tabellen und Abfragen der registrierten Datenbanken unter dem dort angegebenen registrierten Namen. Der Browser öffnet sich über Ansicht → Datenquellen oder nach dem Drücken der Taste F4 oder über das entsprechende Symbol in der Standard-Symbolleiste.

 

Auf der linken Seite im Datenquellen-Browser sind die angemeldeten Datenquellen zu sehen. Die Datenquelle "Bibliography" ist standardmäßig bei LibreOffice mit dabei. Die weiteren Datenquellen unterscheiden sich je nach angemeldetem Namen.

 

Durch einen Klick auf das + - Zeichen vor den Datenbankbezeichnungen öffnet sich die Datenbank und zeigt an, dass sich darin ein Unterordner für Abfragen und ein Unterordner für Tabellen befindet. Die weiteren Unterordner der Datenbank werden nicht zur Verfügung gestellt. Interne Formulare sowie Berichte sind also nur über die Datenbank selbst verfügbar.

Erst beim Klick auf den Ordner Tabellen erfolgt der tatsächliche Datenbankzugriff. Bei passwortgeschützten Datenbanken erfolgt zu diesem Zeitpunkt die Passwortabfrage.

Rechts von dem Verzeichnisbaum zeigt sich die angewählte Tabelle. Sie kann wie in Base selbst bearbeitet werden. Bei stärker ausgeprägten relationalen Datenbanken ist allerdings die Eingabe in die Tabelle mit Vorsicht zu bewerkstelligen, da die Tabellen ja über Fremdschlüssel miteinander verknüpft sind. Allein die unten abgebildete Datenbank zeigt eine separate Tabelle für die Straßennamen, eine für Postleitzahlen und noch eine für den Ort.

Für den richtigen Blick auf die Daten ohne entsprechende Editiermöglichkeit eignen sich daher Abfragen oder entsprechende Ansichten (Views) besser.

 

Von den Zeichen in der Symbolleiste sind viele bereits aus der Eingabe von Daten in Tabellen bekannt. Neu ist insbesondere der letzte Abschnitt: «Daten in Text, Daten in Felder, Seriendruck, Aktuelle Dokument-Datenquelle, Explorer ein/aus».

 

Abbildung 1: Symbolleiste Datenquellenbrowser

 

Daten in Text

Die Funktion «Daten in Text» steht zur Verfügung, sobald ein Datensatz markiert wurde.

 

Abbildung 2: Markierung eines Datensatzes

 

Wird jetzt «Daten in Text» angewählt, so erscheint ein Assistent, der die erforderlichen Formatierungen vornimmt:

 

Abbildung 3: Daten Einfügen als Tabelle

 

Für das Einfügen von Daten in den Text stehen die Möglichkeiten der Darstellung in Tabellenform, als einzelne Felder oder als Gesamttext zur Verfügung.

Die obige Abbildung zeigt den Aufbau «Daten einfügen als Tabelle». Bei Zahlenfeldern und Datumsfeldern kann das Format der Datenbank durch ein eigenes gewähltes Format geändert werden. Ansonsten erfolgt die Formatierung mit der Auswahl der Tabellenfelder. Die Reihenfolge der Felder wird über die Pfeiltasten festgelegt.

Sobald Tabellenspalten gewählt sind, wird der Button Eigenschaften für die Tabellen aktiviert. Hier können die üblichen Tabelleneigenschaften des Writer eingestellt werden (Breite der Tabelle, Spaltenbreite …).

Das Markierfeld gibt darüber Auskunft, ob eine Tabellenüberschrift gewünscht ist. Ist dieses Markierfeld nicht angewählt, so wird für die Überschrift keine separate Zeile eingefügt.

Die so eventuell gewählte Zeile für die Tabellenüberschrift kann entweder die Spaltennamen übernehmen oder nur die Zeile erstellen und den Platz für die Überschrift zum späteren Editieren schaffen.

 

Abbildung 4: Über «Autoformat» stehen Tabellenformate zur Auswahl

 

Über den Button Autoformat werden einige vorformatierte Tabellenansichten angeboten. Bis auf das Vorschlagsformat «Standard» können alle hier enthaltenen Formatierungen umbenannt werden.

Um dem Autoformat-Vorschlag für Tabellen einer Tabelle hinzuzufügen, muss eine Tabelle erstellt worden sein. Diese wird dann markiert und kann über den Button Hinzufügen in die Tabellenliste aufgenommen werden.

Die Tabelle wird schließlich mit der Anzahl der markierten Zeilen erstellt.

Über «Daten einfügen als Felder» wird die Möglichkeit geboten, in einem kleinen Editor die verschiedenen Tabellenfelder hintereinander in einem Text zu positionieren. Dem erstellten Text kann außerdem eine Absatzvorlage zugewiesen werden. Auch hier ist die Formatierung von Datums- und Zahlenwerten separat wählbar, kann aber auch direkt aus den Tabelleneinstellungen der Datenbank gelesen werden.

 

Abbildung 5: «Daten einfügen als Felder» – entspricht auch dem Fenster für «Daten einfügen als Text»

 

Die auf diese Weise in den Text eingefügten Felder können nachher auch einzeln gelöscht oder als Serienbrieffelder weiter genutzt werden.

Wird Daten einfügen als Text gewählt, so unterscheidet sich das gegenüber den Feldern nur in sofern, als bei den Feldern weiterhin die Datenbankverknüpfung bestehen bleibt. Bei der Einfügung als Text wird lediglich der direkte Inhalt der jeweiligen Felder übernommen, nicht aber die Verknüpfung zur Datenbank selbst. Daher unterscheidet sich auch das Fenster für diese Funktion nicht von dem Fenster der vorhergehenden.

Das Ergebnis der beiden Funktionen sieht im Vergleich so aus:

 

Abbildung 6: Vergleich: «Daten als Felder» - Daten als «Text»

 

Die Felder sind grau hinterlegt. Wird mit einer Maus über die Felder gefahren, so zeigt sich, dass die Felder weiterhin eine Verbindung zur Datenbank "Adressen", zur dortigen Tabelle "Person" und zum, in dieser Tabelle befindlichen, Feld "GebDat" haben.

 

Abbildung 7: Doppelklick auf ein eingefügtes Feld zeigt die Eigenschaften des Seriendruckfeldes

 

Ein Doppelklick z.B. auf das Feld "GebDat" öffnet schließlich folgende Übersicht. Hier wird dann klar, welches Feld letztlich über die Funktion «Daten einfügen als Felder» gegründet wurde. Es ist der gleiche Feldtyp, der auch über Einfügen → Feldbefehl → Andere → Datenbank erzeugt wird.

Einfacher lässt sich so ein Feld übrigens erzeugen, wenn im Datenquellenbrowser der Spaltenkopf der Tabelle markiert und mit der Maus in das Dokument gezogen wird. So kann direkt ein Serienbrief erstellt werden.

Daten in Felder

Über «Daten einfügen als Felder» im vorherigen Abschnitt wurden in einem Writer-Dokument Seriendruckfelder erzeugt. Wird jetzt im Datenquellen-Browser ein anderer Datensatz markiert und  dann «Daten in Felder» ausgewählt, so werden die vorherigen dargestellten Daten durch die neuen Daten ersetzt:

 

Hier wurde ein anderer Datensatz markiert. Während bei Betätigung von «Daten in Felder» die vorher eingefügten Felder auf den neuen Datensatz umgeschrieben werden, bleibt der über «Daten einfügen als Text» erstellte Text bestehen.

Seriendruck

Mit diesem Button wird der Seriendruck-Assistent gestartet. Da für einen Serienbrief im obigen Beispiel die Daten aus verschiedenen Tabelle zusammengefasst werden müssen, muss zuerst einmal die Datenbank gestartet werden. In der Datenbank ist dann eine neue Abfrage zu erstellen, die die Daten entsprechend zur Verfügung stellt.

 

Erfolgt der Start der Datenbank durch einen rechten Mausklick auf die Datenbank oder eine der Tabellen oder Abfragen der Datenbank, so wird die Ansicht im Datenquellenbrowser anschließend sofort aktualisiert. Anschließend kann dann der Serienbrief-Assistent über den entsprechenden Button aufgerufen werden.

Aktuelle Dokument-Datenquelle

Ein Klick auf diesen Button öffnet direkt die Ansicht auf die Tabelle, die die Grundlage für die Daten bildet, die in das Dokument eingefügt wurden. Im obigen Beispiel zeigt sich also sofort die Tabelle "Person" aus der Datenbank "Adressen".

Explorer ein/aus

Mit Betätigung dieses Buttons wird die Ansicht auf den Verzeichnisbaum links von der Tabellenansicht ein- und ausgeschaltet. Dies dient dazu, gegebenenfalls mehr Platz für eine Sicht auf die Daten zu erhalten. Um auf eine andere Tabelle zugreifen zu können, muss der Explorer eingeschaltet werden.

Serienbrieferstellung

Über den Datenbankbrowser ist auch der Serienbriefassistent zugänglich. Mit diesem Assistenten wird kleinschrittig das Adressfeld und die Anrede anhand einer Datenquelle nachvollzogen. Prinzipiell ist die Erstellung von solchen Feldern natürlich auch ohne den Assistenten möglich. Hier wird einmal beispielhaft der gesamte Assistent durchgearbeitet.

 

Das Ausgangsdokument des Serienbriefs ist das Dokument, mit dem die Datenbankfelder verknüpft werden.

Das Serienbriefdokument hingegen ist das, in dem nachher die Daten der verschiedenen Personen stehen, die den Serienbrief erhalten haben. Im Serienbriefdokument ist keine Verknüpfung zur Datenquelle mehr vorhanden. Dies entspricht der Einstellung aus «Daten einfügen als Text'.

 

Mit dem Serienbrief-Assistenten können entweder Briefe oder E-Mails entsprechend mit Daten aus der Datenbank versorgt werden.

 

Das Einfügen des Adressblocks erfordert die umfangreichsten Einstellungen. Als Adressenliste wird erst einmal die aktuell gewählte Abfrage oder Tabelle der aktuell gewählten Datenbank vorgeschlagen.

Unter Punkt 2 wird das prinzipielle Aussehen des Adressblocks festgelegt. Dieser Adressblock kann entsprechend über den Button Mehr angepasst werden. Siehe hierzu die nächste Abbildung.

Punkt 3 dient dazu, den entsprechend angedeuteten Feldern aus dem Adressblock die richtigen Felder aus der Datenbank zuzuweisen. Der Assistent erkennt zunächst einmal nur die Felder aus der Datenbank, die genau so geschrieben wurden wie die Felder des Assistenten.

Unter Punkt 4 werden die Adressen angezeigt. Mit den Pfeiltasten können verschiedene Adressen aus der Datenbank abgerufen werden. Bei der abgebildeten Adresse fallen 2 Elemente auf, die einer Nachbearbeitung bedürfen:

Um diese Fehler zu bearbeiten, muss zuerst der Adressblock aus Punkt 2 nachbearbeitet werden.

 

Im Hintergrund ist zu erkennen, dass bei der Nachbearbeitung zuerst einmal noch wieder eine erweitere Auswahl von Adressblöcken präsentiert wird. Der passendste Adressblock wurde hier ausgewählt und entsprechend bearbeitet.

Mit den Pfeiltasten werden Felder in den Adressblock übernommen bzw. aus dem Adressblock entfernt. Der Adressblock kann nicht direkt editiert werden. Stattdessen wird die Anordnung der Felder über die auf der rechten Seite sichtbaren Pfeiltasten hergestellt.

Für die Adressanrede wurde einfach das Element «Anrede» eingefügt. Bis auf den Vornamen müssen jetzt noch alle anderen Felder entsprechend zugewiesen werden.

In unserem Fall muss auch das Element «Anrede» anders zugewiesen werden, da ein entsprechendes Feld mit etwas anderem Inhalt in der Abfrage existiert und hier aufgrund der Namensgleichheit als "Adressanrede" benutzt wird. Die "Adressanrede" für Rob lautet in der Abfrage der Datenbank «Herrn», die "Anrede" «Herr» für eine gegebenenfalls gesondert zu erstellende Anredezeile zum Beginn des Briefinhaltes.

 

Hier wurden die Adresselemente aus dem Serienbriefassistenten erfolgreich entsprechenden Elementen aus der Abfrage der Datenbank zugeordnet. Als Vorschau dient weiterhin der erste Datensatz der Abfrage.

 

Die wesentlichen Datenbankeinstellungen werden mit dem 4. Schritt eigentlich schon beendet. Hier geht es lediglich darum, aus welchem Feld das Geschlecht des Adressaten abgelesen werden soll. Dies war bereits so benannt, dass nur noch der Feldinhalt für den weiblichen Empfänger gekennzeichnet werden musste.

Drei verschiedene Briefanreden werden so erzeugt. Alle mit einem 'w' versehenen Datensätze starten mit 'Sehr geehrte Frau …', alle mit 'm' versehenen Datensätze mit 'Sehr geehrter Herr …' . Ist kein Geschlecht angegeben, so wird schließlich 'Sehr geehrte Damen und Herren' gewählt.