Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


Hallo Boris,

Am 13.05.21 um 21:39 schrieb Robert Großkopf:
Die Textdatei braucht zwingend eine Datenbankdatei, damit sie auf
Daten zugreifen kann. Diese Datei wird im Hintergrund erstellt. Das
ist dann den meisten Leuten gar nicht bewusst.  

dass es so ist, habe ich schon mitbekommen, nur: warum es so sein
muss, verstehe ich nicht, und auch nicht, wie es im Detail
funktioniert.

In der Kurzversion: Du willst ja auf die Tabellen einer Datenbank
zugreifen und hast "nur" eine Calc-Tabelle.

Wenn du auf verschiedenartige Daten_quellen_ zugreifen willst, brauchst
du einen "Adapter", der deinen Programmen den Zugriff auf eine
standardisierte Art bereit stellt. So müssen deine Programme nicht
selber wissen, wie man eine Datenquelle anspricht, die reden nur mit
dem dafür spezialisierten "Adapter".

In LO übernimmt Base diese Funktion.

Ich arbeite immer aktiv mit Base und lege mir die benötigte .odb-Datei
bewuust manuell an, wenn ich Calc-Dateien als Datenquelle nutzen
will/muss.
Die Base-Datei bietet zusätzliche Möglichkeiten: So kann ich z.B.
Abfragen definieren und damit (virtuell) weitere "Tabellen" als Quelle
für z.B. Serienbriefe erzeugen/nutzen.

Ein Beispiel: Einen Freundin von mir hat ein Dokument mit zwei
Tabellen erstellt. Die Personen in Tabelle "Brief" bekommen regelmäßig
einen Info-Brief, die Personen in Tabelle "Paket" bekommen ein Paket
mit Prospekten. 

Leider sind manche Personen in beiden Tabellen, so dass sie deren
Adressen bei einer Änderung doppelt pflegen müsste. Zusätzlich wollte
sie weitere Kategorien einführen.

Nun sind _alle_ Personen in einer Gesamttabelle "Empfänger", die sie in
den Seriendrucken auch verwendet. Diese hat jetzt zusätzlich die Spalten
"Brief" und "Paket" bekommen.

In der zugehörigen .odt-Datei sind zwei Abfragen eingebaut: "Briefe"
fischt alle Personen aus der Tabelle, bei denen in der Spalte "Brief"
ein "y" hinterlegt ist. "Pakete" arbeitet analog.

Bei Seriendrucken kann sie jetzt entweder die Tabelle "Empfänger" oder
eine der Abfragen "Pakete" bzw. "Briefe" auswählen, wenn der
betreffende Dokumententyp nur für den entsprechenden Empfängerkreis von
Interesse ist (Packliste, Paketaufkleber,...).
Wenn sie die Tabelle "Empfänger" wählt, kann sie prinzipiell alle
Personen anschreiben, kann aber beim Seriendruck auch noch mal eine 
der Abfragen wählen, falls sie diesen Brief nur eine der
Empfängergruppen anschreiben möchte (Portoerhöhung getrennt für
Brief/Paket/beide). Dann braucht sie beim Seriendruck auch nicht
umständlich die zu druckenden Adressen zu markieren.

Der nächste Schritt iun der Evolution: Wir überführen die Calc-Tabelle
in eine echte Datenbank, bevor weitere Kriterien hinzukommen. Dann kann
man bei den Spalten auch den Typ boolean(=j/n) verwenden, statt nach
bestimmten Buchstaben zu filtern.
Dazu muss ich letztlich nur die Tabellen der Calc-Datei in eine
Datenbank übernehmen und die .odt-Datei entsprechend tauschen. Um das
kompakt zu halten, wird das erst einmal eine interne HSQLDB, die in der
ODT-Datei eingebettet ist.

Es lohnt sich also, diesen Zwischenschritt von Datenquelle
(Calc-Datei) über den "Adapter" (Base-Datei) zum Serienbrief bewusst
für sich zu nutzen oder zumindest nicht zu ignorieren.


Schönes Wochenende,
Michael


-- 
    ____        
   / / / / /__/      Michael Höhne /
  /   / / /  /  mih-hoehne@web.de /
 ________________________________/


-- 
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.