Steuerzeichen in Report

Hallo,

immer wieder frage ich mich, ob es in einem Report z.B. Steuerzeichen für ‘neue Seite’ oder ‘Spaltenende’ gibt.

Da dies ja für ‘TAB’ und ‘CR’ möglich ist, müsste es doch diese genannten auch geben.

Oder weiß jemand, wie man dies mit der Ausgabe über CHR() machen kann?

Vielen Dank für eine Antwort!

Grüße

SG

Der Befehl für eine neue Seite lautet NEWPAGE

Danke!

gibt es das dann auch für Spaltenende (wäre mir zur Zeit sehr wichtig)?

Gruß SG

Nach meinen Tests eben funktioniert zumindest in den aktuellen Versionen NEWPAGE nicht!

Vielleicht hilft das Popup aus dem Suchen-Dialog beim Report …

Diesen Weg über den Suchendialog hatte ich auch schon versucht. Leider funktionieren die dort angegeben Befehle für das was ich benötige nicht.

Aber dennoch vielen Dank für diese Idee!

Wohingengen “NEWPAGE” in einem normalen Report (ohne Tabelle!) genau das tut, was es tun soll!

SG

Mit welcher Papyrus-Version funktioniert das?

Bei der 5.12 scheint NEWPAGE zumindest bei mir nicht zu funktionieren.

Aber vielleicht mache ich ja etwas falsch.

Ich füge in einem Datenbankreport NEWPAGE über Datenfeld, bzw. Formel ein.

Müsste gehen.

Meine Syntax war bisher IF… THEN NEWPAGE

Ohne Bedingung habe ich es noch nicht verwendet.

Müsste, aber tut es bei mir eben nicht.

Auch wenn ich eine Bedingung verwende, passiert da rein gar nichts (weder bei NEWPAGE noch bei NEWCOLUMN).

Hallo in die Runde.

Markus - versuche es noch einmal.

Nimm für dieses Beispiel die unveränderte Standard Datenbank “Adressen”.

Erstelle eine neue Fließtext-Report-Vorlage.

Erstelle ein Formel-Datenfeld, welches übrigens in diesem Beispiel das einzige Datenfeld in der Report-Vorlage ist.

Formel:

‘Autorensoftware von’ + CR + Fa + NEWPAGE + Strasse + ', ’ + PLZ + ’ ’ + Ort + NEWPAGE + ‘PRODUKTBESCHREIBUNG’

Positioniere das soeben erzeugte Formel-Datenfeld z.B. in der Mitte der ersten Seite der Report-Vorlage und zentriere es.

Vorzunehmende Einstellungen im Report-Dialog für dieses Beispiel:

“Neues Report-Dokument erzeugen”.

“Jeder Datensatz auf eine neue Seite” = WAHR.

Nun Wähle den Datensatz der Firma R.O.M. logicware (oder einen anderen Datensatz mit der Anrede “Firma” aus und reportiere ihn.

Und so sieht die Ausgabe eines jeden Datensatzes mit Anrede “Firma” aus:

Seite 1:

Autorensoftware von

R.O.M. logicware GmbH

Seite 2:

Weitlingstraße 99, 10317 Berlin

Seite 3:

PRODUKTBESCHREIBUNG

Das muss einfach klappen!

Für das Anspringen von Textspalten 2 steht keine Base-Funktion zur Verfügung.

Danke für das Beispiel. Es hat mir die Augen dafür geöffnet, weshalb es bei mir nicht geklappt hat.

Vor NEWPAGE muss zurzeit immer entweder ein Datenfeld oder ein String stehen, auch nach einem THEN. Dann funktioniert es in der Tat.

Meiner Meinung nach könnte das auch ein Bug sein, aber das müssen letztlich die Entwickler wissen.

Spalten lassen sich übrigens mit NEWCOLUMN anfahren. Falls keine 2 Textspalten vorhanden sind, geht der Text danach auf die nächste Seite.

Hallo Markus.

NEWCOLUMN - sehr schön. Danke.

(Ist bisher undokumentiert.)

Ja auch von mir herzlichen Dank für diesen Befehlshinweis. Es zeigt sich immer wieder: das Forum ist wirklich ein hilfreicher „Austauschort“.

Für mich ist nun alles beatwortet und sogar noch wieder um einige BASE-Spezialitäten (siehe dotpap - Dank auch dafür!) bereichert worden.

Eine schöne Sommerzeit (wie auch immer :slight_smile: )

SG

Hallo dotpap,

ich versuche bei mir den Befehl NEWCOLUMN einzubauen. Er soll eine neue Spalte umbrechen, wenn der Wochentag sich ändert. Hier meine Rutine dazu:

( IF wo_tag_X != WO_TAG THEN

// variable abfragen, ob sie ungleich dem aktuellem wochentag ist.

// dann den wochentag ausgeben

  • CR + NEWCOLUMN + WO_TAG + CR

endif)

Leider funktioniert es nicht, der Spaltenumbruch wird nicht durchgeführt. Was könnte hier falsch sein?

Vielen Dank für eine Antwort

SG

Hallo Guthahn.

DB-Tabelle “Test”

1 “DB-Feld” (Datentyp = “Datum”)

Beispieldatum: 17.07.2012 (also Dienstag, also = “3”)

Ausgabe des Reports: “Jeder Datensatz auf eine neue Seite”

DTOC(DB-Feld) + ’ ein Sonntag?’ +

( IF DAYOFWEEK(DB-Feld) != 1 THEN NEWCOLUMN + ‘Nein. Kein Sonntag.’

ELSE NEWCOLUMN + ‘Ja. Sonntag.’)

Und so sieht die Ausgabe des Datensatzes mit Datum 17.07.2012 aus:

Seite 1,

Spalte 1 von 2:

17.07.2012 ein Sontag?

Seite 1,

Spalte 2 von 2:

Nein. Kein Sonntag.

Also mein …

( IF DAYOFWEEK(DB-Feld) != 1 THEN NEWCOLUMN + ‘Nein. Kein Sonntag.’

ELSE NEWCOLUMN + ‘Ja. Sonntag.’)

würde keinen keinen Spaltenwechsel vollziehen,

wie auch Dein …

( IF wo_tag_X != WO_TAG THEN …

dies nicht tut.

Hallo dotpap,

sorry, deine Darstellungen verstehe ich nicht.

  • Warum funktioniert es nicht?

  • Wie funktioniert es denn nun aber?

LG

Guthan

Hallo Guthahn.

So muss vor Deinem (IF wo_tag_X … mindestens ein Leerzeichen (’ ') gefolgt von “+” und dann (IF wo_tag_X … sein.

Also:

’ ’ + (IF wo_tag_X …)

Hallo dotpap,

leider immer noch nicht…

im Anhang siehst du den gesamten Report, der als Datensatz-Bereich eingestellt ist. Somit habe ich auch nicht „Jeden Datensatz auf neue Seite“ eingestellt.

Eigentlich sollte es in der oben angeführten Rutine (If wo_tag_x …) zum Spaltenwechsel kommen.

Gruß

guthan

Hallo Guthan.

Evtl. ist Dein Datum-Check nicht ganz korrekt.

Sende mir die DB oder eine Demo mit Report-Vorlage Besten als PM.

Bedenke, dass es eine undokumentierte Funktion ist. Ich nutze die nicht.

(‘Newpage’ z.B. ist mal im Beta-Forum angeklungen. Von Newcolumn habe ich nicht die Spur mitbekommen.)

Die Dokumentation hinkt hier einfach hinterher. Viele andere Funktionen sind auch nur in den “Neu in Version x”-Dateien beschrieben. Immerhin findet man in der Papyrus-Programmdatei gleich drei Möglichkeiten, ein Spaltenende einzufügen:

NEWCOLUMN|COLUMNBREAK|COLUMNEND

Das wird sicher nicht so schnell verschwinden.