Versteckte Bedingung im Feldbefehl?

Wer kennt es nicht: da nimmste eine letztjährige Datei mit Feldbefehle und willst einen Mitglieder-Brief adressieren und zugleich auch noch eine “Kostennote” beifügen. Eigentlich wurde kein neuer Text verfasst, lediglich die separate Datentabelle hat die aktuellen Daten dieses Jahres.
Freudig denkst Du an den anstehenden Feierabend nachdem der Button zum Drucken ausgelöst wurde. Schnell noch diese Briefe kontrollieren und dann wech… Entsetzen breitet sich aus: wieso sind alle Zeilen, deren Tabellenwerte “0” sind nicht aufgeführt? Die Textdatei hat doch letztes Jahr eindeutig und richtig funktioniert, aber mit einer anderen Version vom LO.
Nach längeren Testen komme ich zum Schluß dass hier irgendwie eine verdeckte Bedingung vorhanden sein muss, sodass alle Zeilen ausgeblendet werden, wenn die Zellenwert gleich Null ist.
Dagegen sind alle Zeilen aufgeführt bei Zellenwert größer Null.
Wer kann diesen wunderlichen Effekt bestätigen bzw. mir die Lösung des Problems verraten?
Werner

Edit(1):

  1. es ist tatsächlich dieselbe Sereinbriefdatei der letzten Jahre, einzig die Tabellendatei wurde neu generiert.
  2. in den Feldern der Tabellendatei ist die Zahl “0” enthalten oder davon abweichend ein Betrag, es ist also nicht der Zustand NULL gemeint.
  3. Im Falle eine abweichenden Betrages in den Tabellenfeldern wird die Zeile komplett ausgegeben - nur die ZAHL “0” NICHT.

Version: 7.3.6.2 (x64) / LibreOffice Community
Build ID: c28ca90fd6e1a19e189fc16c05f8f8924961e12e
CPU threads: 12; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: threaded

Schwierig, so ohne Blick auf Deine Daten.
Ich kenne speziell bei Base den Effekt, dass leere Zellen (DatenbankTerminologie: Wert NULL) etwas anderes sind als mathematisch 0 oder ein Leerstring ''. Ausserdem ergibt verketten mit NULL ebenfalls NULL, weshalb VORNAME || Nachname NULL ergibt, wenn kein Vorname angegeben wurde.
.
Daher steht für obiges in meinen Datenbanken immer
( IFNULL(VORNAME || ' ', '') || NACHNAME)
für eine solche Konstruktion. Nach so etwas (akso leeren Feldern) würde ich als erstes suchen und entsprechende Abfragen einbauen, die bei Writer natürlich anders aussehen als in SQL.

Meine Zwischenbilanz bei der Suche nach einer Lösung:
Es ist wirklich so, wie @Wanderer es bereits ausführte, ist bei Serienbrieffelder mit dem Wert “” oder auch NULL die ganze Zeile AUSGEBLENDET. Genial ist diese Prinzip nun nicht gerade, aber wenn man das vorher gewusst hätte, hätte man beim Export der Ursprungsdaten noch ein konkreten Nullsetzen einbauen können, nachträglich leider nicht mehr möglich. Mit den Feldbefehlen konnte eine Lösung erstellt werden, was jetzt auch brauchbar läuft, aber was ich jetzt dringend noch erfahren muss, wie ich den Zahlenausdruck als Währung formatieren kann.

Warum dieser Effekt in den letzten Jahren nicht auftrat, verstehe ich nicht. Scheinbar sind die LO-Entwickler “geil” auf jede Menge “feature”, aber weniger in die “langweilige Fehlerbeseitigung” und damit Stabilität von LO zu investieren. Ist also ein Problem der schnelllebigen Zeit.

Bei einem ähnlichen Problem (OpenOffice, vor vielen Jahren) bei der Übertragung des Datums behalf ich mir in der “Quelldatei” (Calc-Datei) mit der Umwandlung des Datums in Text (eine weitere Spalte) und die Übertragung von Text geschah dann fehlerfrei. In diesem Fall lautete die Calc-Formel wie folgt:
=TEXT(A1;"T. MMM. JJJJ")
Das sollte doch dann auch in ähnlicher Weise für die 0 gelten, die dann ja als Text übertragen wird… :grinning:

@Grantler: Dein Tip wäre umsetzbar, wenn es nur wenige Zellen wären, aber eine Spalte der Calc-Tabelle hat über 1000 Zeilen, und es ist nicht nur diese eine Spalte die Probleme bereitet. Da wäre eher die Umsetzung als Datenbank sinnvoll, aber der Export kommt aus einer Fremddatenbank und da habe ich dann wieder das gleiche Problem.
Bisher habe ich mich davor gescheut eine Datenbank zu entwerfen, zumal dieser Vorgang nur einmal im Jahr stattfindet.

Da bei mir z.B. das Datenbankmodul (PPA-Version; Linux) bei Datenbanken nicht ordentlich arbeitet, habe ich mir LibreOffice (in mehreren Versionen) parallel installiert und arbeite damit. Das ist auch deshalb günstig, weil ich an meinem Arbeitsplatz eine ältere LO-Version vorfinde (LO 7.2.5.2; Windows 10pro). Da sollten dann keine großen Abweichungen auftreten (hoffe ich). Für mich sehr wichtig.

Das schreit ja schier nach einer Frickellösung, einmal eingerichtet und funktionierend kannst du das dann auch in Zukunft nutzen.
Für Windows gibt es neben einer parallelen Installation auch noch die Möglichkeit einer portablen Version - hier weiß ich allerdings nicht, inwieweit die JRE mit ausgeliefert wird oder ob die aktuelle des Computers benutzt wird. (Die parallele Installation nutzt die aktuell installierte JRE, was z.B. bei der Erstellung von Berichten wichtig sein kann.)
.
OT
Der Umgang mit dem Base-Modul ist leider nicht selbsterklärend und ich scheue ihn auch deshalb, weil mir z.B. Änderungen bei den Datenformaten (z.B. von Dezimalzahl nach Text bzw. von DECIMAL nach VARCHAR) nicht gelangen, was in Calc relativ einfach zu bewerkstelligen ist. Natürlich liegt das auch an einem Mangel an Wissen, aber Aufwand und Ergebnis müssen für mich in einem vertretbaren Verhältnis stehen… :wink:
.
– Viel Erfolg

Ich nehme an Du hattest keine Zeit fur einen Bugreport? Da wären natürlich etwas weniger vage Angaben als “hat letztes Jahr funktioniert” zu benutzter Version und beteiligten Datenformaten natürlich nützlich um “in dieser schnelllebigen Zeit” die Zeit der Entwickler nicht zu sehr zu beanspruchen.
.
Alternative ist immer OpenOffice - da ändert sich seit Jahren nicht viel. Wer das als Stabilität sieht…

@Wanderer zu einem Bugreport habe ich derzeit keine Zeit, denn das Erstellen und Ausliefern der Serienbriefe hat Vorrang. Zudem kann ich auch nicht mehr nachvollziehen, welche LO-Version ich letztes Jahr hatte. Das ein Bugreport in diesem Falle sinnvol wäre, sehe ich ein, nur müsste ich die Versionn´snummer erst finden.
Da ich selber in der IT-Branche/Elektrobranche arbeite, nicht als IT-Fachmann, kenne ich die “Geilheit” der Entwicklungsingenieure stets das neueste zu haben und auch mit dem gerade erst entwickeltem neuen “Feature” zu “werben”. Die “Begeisterung tropft” manchmal aus jedem Satz. Wenn dann auf kleine Fehler hingewiesen werden, kommt die schmallippige Bemerkung “is a feature”.
Habt beide (@Grantler und @Wanderer ) besten Dank für eure Hinweise.
Gelöst ist das Problem weiterhin noch nicht, die Fehlerbeseitigung ist derzeit nur sehr zeitintensiv und nicht gerade abschlußorientiert.