[erledigt] Seriendruck-Bedingung "letzter Datensatz"
Verfasst: Di, 29.01.2013 12:46
Ich benutze in einem Serienbrief über Einfügen > Feldbefehl > Andere im Register "Datenbank" die Funktion "Nächster Datensatz" als Feldtyp. Als Bedingung möchte ich eintragen: "nur dann weiter, wenn das Ende der ausgewählten Datenmenge noch nicht erreicht ist". In Basic gibt es dazu die Prüfung oResult.isLast oder auch oResult.next (weil das TRUE oder FALSE liefert). Aber was kann ich im Writer als Bedingung formulieren?
Die Suchfunktion hat nur das Problem Etiketten Seriendruck Datenbank EOF geliefert, aber ohne jede Antwort.
Zur Erklärung: Es wird eine Rechnung gedruckt, die eine variable Anzahl von Teilen enthält (bis zu 5). Die Abfrage als Datenmenge liefert die Einzelteile; bei jedem dieser Datensätze stehen auch die Summen für die Gesamtrechnung. Wenn der letzte Teil gedruckt wurde, soll kein "nächster Datensatz" gelesen werden, sondern der bisherige Datensatz weiter zur Verfügung stehen. (Dann muss ich nur die doppelten Zeilen löschen, aber der Teil mit den Gesamtbeträgen wird korrekt ausgedruckt.)
Alternativer Versuch: Nach dem letzten Teil wird die Funktion "Beliebiger Datensatz" mit "Datensatznummer 1" aufgerufen. Das funktioniert nicht, vermutlich weil XResultSet in der Serienbrief-Funktion nur zum "Lesen vorwärts" verwendet wird.
Als Notlösung könnte ich mir auch so etwas vorstellen: Am Anfang der Rechnung werden die Summen in einzelne Textfelder eingetragen und als Variable notiert. Diese Felder werden als "ausgeblendet" formatiert. Die Feldinhalte werden am Ende der Rechnung über den Feldbefehl "Variable anzeigen" gedruckt. Da es sich aber insgesamt um sieben solcher Angaben handelt, möchte ich das vermeiden.
Hat jemand einen besseren Vorschlag? Danke! Jürgen
Die Suchfunktion hat nur das Problem Etiketten Seriendruck Datenbank EOF geliefert, aber ohne jede Antwort.
Zur Erklärung: Es wird eine Rechnung gedruckt, die eine variable Anzahl von Teilen enthält (bis zu 5). Die Abfrage als Datenmenge liefert die Einzelteile; bei jedem dieser Datensätze stehen auch die Summen für die Gesamtrechnung. Wenn der letzte Teil gedruckt wurde, soll kein "nächster Datensatz" gelesen werden, sondern der bisherige Datensatz weiter zur Verfügung stehen. (Dann muss ich nur die doppelten Zeilen löschen, aber der Teil mit den Gesamtbeträgen wird korrekt ausgedruckt.)
Alternativer Versuch: Nach dem letzten Teil wird die Funktion "Beliebiger Datensatz" mit "Datensatznummer 1" aufgerufen. Das funktioniert nicht, vermutlich weil XResultSet in der Serienbrief-Funktion nur zum "Lesen vorwärts" verwendet wird.
Als Notlösung könnte ich mir auch so etwas vorstellen: Am Anfang der Rechnung werden die Summen in einzelne Textfelder eingetragen und als Variable notiert. Diese Felder werden als "ausgeblendet" formatiert. Die Feldinhalte werden am Ende der Rechnung über den Feldbefehl "Variable anzeigen" gedruckt. Da es sich aber insgesamt um sieben solcher Angaben handelt, möchte ich das vermeiden.
Hat jemand einen besseren Vorschlag? Danke! Jürgen