Ausdruck von zwei oder mehr Datensätze auf einer Seite
T

Ist es möglich, im Ausdruck zwei oder mehr Datensätze auf einer Seite auszugeben ? Ich meine den Ausdruck, wo weitreichende Layoutfunktionen möglich sind und nicht den Tabellendruck. Danke.

C

Das würde mich auch brennend interessieren ob das möglich ist.

D

Dieses Thema würde mich auch interessieren. Gibt es da eine Lösung dafür?

Ninox Profile

Ich denke mit den jetzigen Layouot-Komponenten geht das noch nicht. Es ist eben kein guter Formulargenerator. Aber ich denke mit einer selbstgebauten Funktion, die in eine Schleife hochzählt und die Feldinhalte sich selbst holt und zusammensetzt, sollte das realisierbar sein - ist aber eine ziemliche Fummelei je nachdem wie komplex die Datensatzinhalte sind bzw. angezeigt werden sollen.... man kann das ganze ja sogar als HTML-Inhalt formatieren ;-) Aber richtig kompliziert wird es, wenn dann am Ende noch mehr Seiten erzeugt werden sollen. Also insgesamt 30 Datensätze, auf 3 Seiten je 10 Zeilen.... ich hätte wohl mal Lust sowas zu probieren ;-)

T

Man kann... aber wie Dirk schon schreibt seeeehr fummelig. Ich habe als Beispiel gerade eine Liste von Messeteilnehmern erzeugt inkl. der jeweiligen Produkte jedes Herstellers sowie der Preise usw... das funktioniert alles (mit Leos hilfe) mit der join() funktion. Um das ganze rudimentär zu formatieren habe ich mehrere Duplikate der Formel über- und nebeneinander gelegt und anders formatiert. Aber schon alleine bei FETT-Schrift geht das chaos los, der Zeilenabstand fliegt Dir um die Ohren, mann muss zB die normalschrift auf 1,0035 Zeilenabstand setzen, damit sie im PDF richtig aussieht... und am Ende sieht es halt immernoch seeehr "sparsam" aus. Man kann eben nur mit Textelementen arbeiten. Natürlich ließe sich das mit statischen Grafiken oder gefärbten Feldern noch erweitern

Als Beispiel mal 2 Screenshots:

Finales PDF

Und so sieht es im NINOX Editor aus...

Ninox Editor

 

 

 

 

T

Noch etwas dazu:

Jedes Feld durchläuft die gleiche Formel, es werden halt nur die entsprechenden Tabellenfelder entweder angezeigt oder durch "" ersetzt. Neue Zeilen werden ja in der Formel gesetzt "

"

Hier mal ein Beispiel:

let mySeite := Seite;
replace(text(for p in (select 'Hersteller/Weingut' where 'FlaPo/Messe' and Seite = mySeite) order by Stand do
"

" + for i in p.Weine[Messe = 1] order by 'Stand Wein-Nr' do
if i.Jahrgang then i.Jahrgang + " " else void end + i.'Artikelname Verkostungsliste' + " " + replace(i.'Inhalt formatiert', ",", ".") + if i.BIO then " BIO" end + if i.'Allergene:' like "Sulfite" then
"**"
end + if i.Aktionstext then
" - [" + i.Aktionstext + "]"
end + "

"
end + "

"
end), ",", "")

 

Ninox Profile

Wow :-)

Birger

T

Danke :)

Es gibt eine Tabelle "Hersteller/Weingut" in dieser hat jeder Hersteller eine Untertabelle mit verschiedenen Weinen.

Hersteller und Weine haben je einen Schalter, ob sie an der Messe teilnehmen oder nicht. Die Stand-Nummern werden manuell vergeben und auch die Seite auf der der Hersteller erscheint wird manuell angepasst. So kann man steuern wieviele Hersteller mitsamt ihrer Weine auf einer Seite erscheinen. Wenn diese voll ist, vergibt man eine neue Seitenzahl. Am Ende wird pro Seite ein PDF generiert, welches dann (extern, man könnte das aber auch intern machen) zur Finalen Liste kombiniert wird.

Reply