Gutie
25. Juni 2012 um 20:08
1
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
blake
26. Juni 2012 um 06:07
2
Der Befehl für eine neue Seite lautet NEWPAGE
Gutie
26. Juni 2012 um 09:30
3
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!
HeHo
26. Juni 2012 um 19:07
5
Vielleicht hilft das Popup aus dem Suchen-Dialog beim Report …
Gutie
26. Juni 2012 um 20:06
6
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.
blake
6. Juli 2012 um 21:12
8
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).
dotpap
9. Juli 2012 um 08:50
10
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.
dotpap
11. Juli 2012 um 12:22
12
Hallo Markus.
NEWCOLUMN - sehr schön. Danke.
(Ist bisher undokumentiert.)
Gutie
15. Juli 2012 um 12:20
13
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 )
SG
Gutie
17. Juli 2012 um 08:12
14
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
dotpap
17. Juli 2012 um 13:04
15
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.
Gutie
17. Juli 2012 um 15:25
16
Hallo dotpap,
sorry, deine Darstellungen verstehe ich nicht.
LG
Guthan
dotpap
17. Juli 2012 um 15:45
17
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 …)
Gutie
17. Juli 2012 um 16:57
18
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
dotpap
17. Juli 2012 um 17:22
19
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.