🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datenbankfeld wird nicht im Serienbrief angezeigt

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
freddie1962
Beiträge: 12
Registriert: Di 25. Jun 2024, 07:35

Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von freddie1962 » Mi 3. Jul 2024, 09:11

Hallo liebe Community,

ich bin gerade dabei Geburtstagskarten serienmäßig zu erstellen. Nun ist mir hier dabei ein Problem aufgetreten und ich weiß nun nicht weiter. Ich habe eine Datenbank von Personen in der Name, Adresse, GebDatum etc. gespeichert ist. Ich habe dazu eine Abfrage erstellt (nicht jeder soll eine Karte erhalten) und habe in dieser Abfrage das Alter berechnet, hierzu wird ein Eingabeparameter hergenommen in dem das Jahr eingegeben wird und danach wird das Alter berechnet und in der Abfrage als extra Datenfeld gespeichert. Wenn ich nun im Writer im Serienbrief auf dieses Feld "Alter" zugreifen möchte funktioniert es nicht, das Feld bleibt leer - der Rest wie Name, Adresse etc wird ganz normal angezeigt. Kann dies zusammenhängen mit dem Eingabeparameter? Aber alles wird richtig angezeigt bei Strg + Shift + F4 ist das Alter auch mit richtigen Werten befüllt - nun weiß ich nicht weiter. Gibt es mehr oder weniger einen Workaround das ich das Alter in der Writer File ausrechnen kann? Oder woran könnte dieses Problem liegen.

Danke schon einmal! MfG

Pit Zyclade
* LO-Experte *
Beiträge: 3041
Registriert: Mo 12. Nov 2012, 16:59

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von Pit Zyclade » Mi 3. Jul 2024, 09:39

freddie1962 hat geschrieben:
Mi 3. Jul 2024, 09:11
Hallo liebe Community,

ich bin gerade dabei Geburtstagskarten serienmäßig zu erstellen. Nun ist mir hier dabei ein Problem aufgetreten und ich weiß nun nicht weiter. Ich habe eine Datenbank von Personen in der Name, Adresse, GebDatum etc. gespeichert ist. Ich habe dazu eine Abfrage erstellt (nicht jeder soll eine Karte erhalten)...
Das brauchst du nicht über eine "Abfrage" regeln, sondern wenn du den Druck auslöst (man kann zur Probe auch mal vorher in eine Datei drucken, das frißt keine Ressourcen) gibt es den Schritt Datensätze per Hand oder als Filter auszuwählen.
... und habe in dieser Abfrage das Alter berechnet, hierzu wird ein Eingabeparameter hergenommen in dem das Jahr eingegeben wird und danach wird das Alter berechnet und in der Abfrage als extra Datenfeld gespeichert. Wenn ich nun im Writer im Serienbrief auf dieses Feld "Alter" zugreifen möchte funktioniert es nicht, das Feld bleibt leer ...
Naja, worauf du zugreifst (bzw. zugreifen kannst), wird dir im writer angezeigt, wenn du Ansicht->Datenquellen wählst. Solltest du da die Quelle umgeschaltet haben, dann sind entweder die einen oder anderen Felder nicht mehr aktuell. Deshalb ist es ratsam alle gewünschten Felder in derselben Quelle (Abfrage oder Tabelle einer Datenbank) parat zu haben und zu verlinken. Sonst muß man alle in dem Entwurfsdokument neu überprüfen.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von RobertG » Mi 3. Jul 2024, 09:43

Wird der Parameter nicht angezeigt? Dann löse das Ganze doch über eine Filtertabelle (Tabelle mit einem Datensatz, in dem dann z.B. Dein gewünschter Parameter steht und der dann über die Abfrage ausgelesen wird.

Ich habe hier viele Datenbanken und keine einzige nutzt die Möglichkeit der Paramterabfrage, weil ich eben mit Formularen arbeite.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

freddie1962
Beiträge: 12
Registriert: Di 25. Jun 2024, 07:35

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von freddie1962 » Mi 3. Jul 2024, 10:08

RobertG hat geschrieben:
Mi 3. Jul 2024, 09:43
Wird der Parameter nicht angezeigt? Dann löse das Ganze doch über eine Filtertabelle (Tabelle mit einem Datensatz, in dem dann z.B. Dein gewünschter Parameter steht und der dann über die Abfrage ausgelesen wird.
Doch am Anfang wird der Parameter abgefragt und nach der Eingabe passt auch alles, in meiner Abfrage-Tabelle wird das Alter auch richtig hineingespeichert. Wenn ich diesen Datensatz dann einfügen will und ich führe das Seriendruck Dokument aus wird alles richtig ausgefüllt außer das Alter. Anbei befindet sich ein Screenshot wie das aussieht.
Dateianhänge
screenshotfürlibre.PNG
screenshotfürlibre.PNG (14.79 KiB) 2277 mal betrachtet

Pit Zyclade
* LO-Experte *
Beiträge: 3041
Registriert: Mo 12. Nov 2012, 16:59

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von Pit Zyclade » Mi 3. Jul 2024, 12:56

Wie war das? Werden nicht nur Texte gut eingefügt? Muß ich bei Gelegenheit mal hinterfragen. Jedenfalls scheinen deine Bilddokus für das Alter eine Zahl (!) zu haben. Da könnte man ja auch noch experimentieren und die Zahl in eine "Textzahl" umwandeln.
Übrigens hast du den Link in der Briefvorlage mal geprüft (durch Doppelklick)?
In meiner "Gruppe" habe ich auch eine "Zahl" als Kriterium. Aber dieses Datenfeld ist in meiner Datenbanktabelle für den Serienbrief mit "Text[VARCHAR]" formatiert.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

freddie1962
Beiträge: 12
Registriert: Di 25. Jun 2024, 07:35

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von freddie1962 » Do 4. Jul 2024, 09:54

Pit Zyclade hat geschrieben:
Mi 3. Jul 2024, 12:56
Wie war das? Werden nicht nur Texte gut eingefügt? Muß ich bei Gelegenheit mal hinterfragen. Jedenfalls scheinen deine Bilddokus für das Alter eine Zahl (!) zu haben. Da könnte man ja auch noch experimentieren und die Zahl in eine "Textzahl" umwandeln.

CASE WHEN MONTH( "Personal_FGG6"."GebDat" ) > MONTH( CAST( :Eingabejahr || '-12-31' AS DATE ) ) OR ( MONTH( "Personal_FGG6"."GebDat" ) = MONTH( CAST( :Eingabejahr || '-12-31' AS DATE ) ) AND DAY( "Personal_FGG6"."GebDat" ) > DAY( CAST( :Eingabejahr || '-12-31' AS DATE ) ) ) THEN :Eingabejahr - YEAR( "Personal_FGG6"."GebDat" ) - 1 ELSE :Eingabejahr - YEAR( "Personal_FGG6"."GebDat" ) END AS "Alter"

So habe ich diesen Fall in SQL gelöst, ich weiß - ziemlich kompliziert, aber es ging nur so. Mit dieser SQL-Abfrage wird praktisch das Alter dann abgespeichert, aber auf dieses kann ich eben dann nicht zugreifen.
Pit Zyclade hat geschrieben:
Mi 3. Jul 2024, 12:56
Übrigens hast du den Link in der Briefvorlage mal geprüft (durch Doppelklick)?
In meiner "Gruppe" habe ich auch eine "Zahl" als Kriterium. Aber dieses Datenfeld ist in meiner Datenbanktabelle für den Serienbrief mit "Text[VARCHAR]" formatiert.
Wenn ich Doppelklick auf mein <Alter> Feld mache, passiert nichts. Oder wie meinst du das genau? Wie kann ich das Feld bearbeiten. -> das Alter Feld wird in keiner Tabelle gespeichert, sondern nur in einer Abfrage.

Danke schon einmal für die Hilfe!

Pit Zyclade
* LO-Experte *
Beiträge: 3041
Registriert: Mo 12. Nov 2012, 16:59

Re: Datenbankfeld wird nicht im Serienbrief angezeigt

Beitrag von Pit Zyclade » Do 4. Jul 2024, 11:04

Lieber freddie1962,
Zwei Dinge:

Zuerst das, was die "unter den Nägeln brennt": Eine Abfrage in der Datenbank von LO greift ja auf die Daten zu, welche in anderen Abfragen oder in Tabellen stehen.
Letztendlich immer auf Tabellen, die diese Daten enthalten. Diese Tabelle mußt du "bearbeiten". Das geht über die Auswahl der Tabelle und dann rechte Maustaste->Bearbeiten ODER über Menü Bearbeiten -> Bearbeiten. Dann siehst du die Struktur.

Du hast eine Abfrage mittels SQL erzeugt. Das ist doch gut. Aber du könntest doch das Resultat (Alter) in derselben Tabelle unterbringen, auf die du zugreifst oder? (In meiner Vermutung, dass du aus dieser Tabelle auch die Anschrift- und Namen-Daten für deinen Serienbrief ziehst) Mache doch in der Tabelle "Personal_FGG6" eine neue Spalte namens "Alter" auf und gib ihr das Format "Text[VARCHAR]" .
Danach überarbeitest du deine Abfrage und und gibst als Ziel "Personal_FGG6"."Alter" an. Danach müßte, sofern die Rechnung stimmt, die Tabellen-Spalte gefüllt sein (geht nicht aus einer Abfrage, siehe nächste Zeilen).

Nachtrag:
Man kann mittels Abfrage keinen Wert in einer Tabelle zuweisen. Das muß man per SQL-Befehl pber das Menü erreichen.
Insofern weiß ich nicht, wie du das angegangen hast. Übrigens geht deine Abfrage bei mir als Abfrage in LO-Base nicht. Du hast offenbar keine HSQL-Datenbank?
Solltest du die Serienbrieffelder direkt aus deiner Abfrage gefüttert haben, dann mache mal folgendes:
Schließe die Abfrage und markiere sie und rechtes Mausmenü->Bearbeiten. Dann siehst du gleich, ob dein Feld "Alter" besteht und ob es vielleicht doch irgendwo abgelegt wird.
Irgendwie muß man doch Erfolg haben.

Zweitens musst du bei der Abfassung deiner Beiträge aufpassen, vielleicht erst die Vorschau nutzen, bevor du absendest.
Denn in dem letzten Beitrag hast du ein [/quote] vergessen, so dass deine Antwort noch als Teil eines Zitats angezeigt wird.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten