Serienbrief: nachträglichen Anmeldung der Datenbank

Hallo, ich habe heute 2 Fragen:

  1. Wie kann ich meine Datenbank auf einem anderen Rechner für den Serienbrief anmelden?
  2. Wie kann ich die Empfängerliste für den Serienbrief komplett löschen, weil dort Datenbanken enthalten sind, die ich schon längst nicht habe. Ich habe das versucht zu löschen, aber der Rechner hängt sich dann auf.
    Es wäre nett, wenn mir jemand helfen könnte.

Das Anmelden einer Datenbank geht über Extras → Optionen → LibreOffice Base → Datenbanken.
Entschiedend für die Verbindung ist der registrierte Name. Bei der Registrierung wird dieser Name aus der Datenbankdatei entnommen (Meine_Datenbank.odb wird als “Meine_Datenbank” registriert.).
Der registrierte Name muss mit dem Namen übereinstimmen, den Du im Serienbrief genutzt hast.

Achtung: Du kannst eine einmal erfolgte Registrierung nicht einfach ändern. Du musst dann einen neuen Namen vergeben und die neue Registrierung abspeichern. Dann kannst Du die alte Registrierung mit dem alten Namen löschen und die neu erstellte Registrierung wieder aufrufen und mit dem alten Namen abspeichern. Das ist leider etwas buggy…

Zu allererst sollte man verstehen, dass Base selbst keine Datenbank ist, sondern ein Werkzeug, um mit Datenbanken im Zusammenhang mit LibreOffice umzugehen. Die allermeisten Datenbanken, die für Serienbriefe verwendet werden sind in Wahrheit Listen in Tabellenkalkulationen. Das heißt, dass alle Daten ursprünglich in ein Tabellendokument eingegeben wurden bevor ein Datenbankdokument damit verbunden wurde. In dem Datenbankdokument wird die Calc-Liste als Datenbank-Tabelle dargestellt. In so einem Fall hättest Du es mit folgender Kette von Verknüpfungen zu tun:
Calc → Base-Dokument → Registrierung → Serienbrief

Datenbankdokumente können mit einer Vielzahl von verschiedenartigen Datenbanken und Pseudo-Datenbanken verbunden sein. Eine im Base-Dokument integrierte Datenbank ist eigentlich ein Sonderfall. Die Statuszeile Deines Datenbankdokuments zeigt die Art der Datenbank an.

Als Antwort auf die 2. Frage gibt es verschiedenartige Ansätze, die teilweise auch von der verwendeten Datenbank abhängen.
Ich verwalte das wie folgt:
Für jede möglichen Datenquelle (Firmendatenbank, private Kontakte oder spontan zusammenkopierte Calc-Liste) erstelle ich ein Base-Dokument mit einer Abfrage, die ähnlich wie folgt aussieht.

SELECT "Spalte A" AS "Grußformel"
 "Anrede"|| ||"Vorname"|| ||"Nachname" AS "Adresszeile1"
"Str"|| ' ' || "Hausnr" AS "Adresszeile2"
"PLZ"|| ||"Ort" AS"Adresszeile3"
FROM "Tabelle X"
WHERE "Check" = True

Wichtig ist bei diesem Beispiel nur die Grußformel und 3 Adresszeilen für die Postadresse, und dass diese Spalten in jeder Datenbankabfrage die selben Namen tragen “Grußformel”, “Adresszeile1”, “Adresszeile2” und “Adresszeile3”, was ja mit Aliasnamen (“Spalte” AS “Alias”) leicht zu bewerkstelligen ist.
Danach registriere ich die Datenquelle unter einem neuen Namen.
Um nun die Addressdaten-Quelle zu wechseln, öffne ich meine Serienbriefvorlage, wähle im Menü Bearbeiten>Datenbank austauschen und wähle die Datenquelle mit der Serienbriefabfrage aus, die für diesen spezifischen Brief verwendet werden soll. Weil die Spaltennamen immer gleich sind, war’s das auch schon.
Alternativ kann man natürlich auch einfach den registrierten Namen auf ein anderes Datenbankdokument umleiten. Wenn dann der Abfragename ebenfalls gleich bleibt (etwa “Serienbriefabfrage”) braucht man in Writer gar nichts mehr anzupassen.

Wenn man immer nur Tabellendokumente mit einer Briefvorlage benutzt, kann man natürlich auch einfach nur das Calc-Dokument ersetzten. Dabei muss man aber darauf achten, dass der Tabellenname gleich bleibt und die Spaltennamen über den Calc-Spalten, den Spaltennamen in der Abfrage entsprechen.

Doch. Du kannst die Datenbankdatei, die zum Namen gehört ändern.
Adressdaten ==> C:\Pfad\Weihnachtspost_2022.odb
Adressdaten ==> C:\Pfad\Weihnachtspost_2023.odb
Leider ist es in dieser GUI nicht möglich die linke Seite, also den Namen zu ändern.

Im Zusammenhang mit Serienbriefen finde ich es wichtig, dass man sich nicht damit abfindet, die für jeden Einzelfall alle Serienbrief-Felder neu zu erstellen.
Man macht es sich einfacher, wenn man den Serienbrief auf irgendeine andere Abfrage mit passenden Spaltennamen verweist oder einfach die Registrierung auf ein anderes Datenbankdokument mit gleichnamiger Abfrage und gleichen Spaltennamen verweist. Die Abfrage ist hier das flexibelste Element. Man kann die Abfrage selbst und seine Spalten beliebig benennen.
P.S. Das obige Beispiel mit Weihnachtspost_2022 ist blöd weil man (hoffentlich) nicht für jedes Weihnachtsfest die komplette Liste auswechselt. Auch hier ist die Abfrage das flexibelste Element.
SELECT ... FROM ... WHERE "Verstorben" = False

Da kommt es drauf an, mit welcher Version von LO Du arbeitest. Bei der aktuellen LO 7.6.3 funktioniert das. Bei der Version 7.4.7.2 kommt:

Der Name 'Adressdaten' wird bereits für eine andere Datenbank verwendet.
Bitte wählen Sie einen anderen Namen.

Ich weiß nicht mehr, wann ich den Bug gemeldet hatte. Da ist mir wohl nicht im Gedächtnis geblieben, dass da auch einmal ein Bug behoben wurde.

Au weia. Ja, ich erinnere mich an diesen blöden Fehler.

Weil das ganze einigermaßen komplex ist, habe ich mal eine Grafik fertiggestellt und ins Deutsche übersetzt. MailMerge_DE.odg (122.0 KB)

Es ist deshalb kompliziert weil es mit sehr vielen verschiedenen Datenbanken und Pseudo-Datenbanken in gleicher Art und Weise funktioniert, ganz egal wie diese Quellen im einzelnen technisch oder inhaltlich strukturiert sind. Das obige Dokument setzt eine Calc-Tabelle als Quelle voraus, es funktioniert aber genauso mit Textdateien und “echten” Datenbanken. Sobald die Verbindung eines Datenbankdokuments mit einer Quelle besteht, ist der Rest weitestgehend gleich. Verwendet man eine eingebettete Datenbank entfällt aus Benutzersicht die oberste Verbindung.