0
Sortierte Untertabelle im PDF ausdrucken
Ups, habe vergessen, meine Thema zu kopieren um es ein 2. mal zu schicken. Kann jemand so nett sein, das für mich zu tun?
10 Antworten
-
Habe eine Untertabelle mit Artikeln. Diese Artikel sind Textilien. Textilien haben ja eine bestimmte Grösse. Also XS, S, M, XL usw. Die Eingabe in die Untertabelle erfolgt aber nicht immer nach Größen sortiert. Also es könnte zuerst der Artikel XXL und dann z.B. ein S angelegt werden. Nehme ich bei der Größe nur den Filter aufsteigend, sieht die Sortierung natürlich L, M, S, XL usw. aus.
Mit einer If-Funktion (S = 1, M = 2 usw) und Artikel-Nr und Farbe habe ich mir mit einem Formelfeld die Sortierung angelegt. Klappt wunderbar. Im Datensatz kann ich mir den Tabellenkopf ja so zurechtschrieben, das man das Zusatzfeld ja nicht sieht.
Problem: Das Zusatzfeld habe ich im Drucklayout auch. Soll aber nun mal gar nicht. Habe ich auch kein Platz für, da die Formel auch ein langes Ergebnis ergibt. Blende ich das Feld aus, ist natürlich auch die Sortierung hinfällig.
Auch hier wäre ich über Hilfe dankbar.
Frauke -
Hallo Frauke,
es ist leider bei Ninox so, dass die Sortierung nur nach sichtbaren Spalten möglich ist. Als mögliche Lösung kann ich folgendes vorschlagen.
1. Erstell ein Funktionsfeld namens NR mit deiner Formel, etwa so
let DNUM := switch 'Größe' do
case "XS":
1
case "S":
2
case "M":
3
case "L":
4
case "XL":
5
end;
DNUM + Artikel + Farbe
dieses Feld kannst du verstecken (nur anzeigen wenn: false)
2. Erstell ein Funktionsfeld namens Nummer
let myNR := NR;
cnt(select DeineTabelle where NR < myNR) + 1
So sind alle deine Datensätze aufsteigend nach deiner Formel nummeriert und diese Spalte nimmt nicht so viel Platz weg.
Grüße
Leo -
Habe gerade festgestellt, dass meine Formel bei gleichwertigen Datensätzen
auch die Numerik gleich setzt. damit das nicht passiert sollte die Formel so aussehen.
1.Das erste Funktionsfeld lieber NNN statt NR nennen
2.Das zweite Funktionsfeld:let myNN := NNN;
let myNr := Nr;
cnt(select DeineTabele where NNN < myNN) + 1 + cnt(select Sortierung where NNN = myNN and Nr > myNr)
Grüße
Leo -
Hallo,
man kann auch die Breite der einzelenen Spalten der Tabelle in der Druckvorschau einstellen. Die zu sortierende Spalte einfach sehr eng ziehen. -
Na ja, minimale Breite ist 1. Auch wenn du die Breite als 0 einstellst, wird diese automatisch wieder auf 0 gestellt. In dem Layoutansicht sieht alles wunderbar aus. Wenn man dann das PDF-Dokument generiert, wird die Spalte sichtbar und der Zeilenhöhe passt sich der Textgröße an.
Zurück zu der Formel. die Formel ist für die ganzen Tabelle gedacht. Wenn diese aber als Untertabelle dargestellt werden sollte, dann siet die Formel anders aus:
---let myNN := NNN;
let myNr := Nr;
cnt(DeineTabele [NNN < myNN] + 1 + cnt(DeineTabele [NNN = myNN and Nr > myNr])
---
Leo -
Oh mann, habe jetzt 6 Rechtsschreibfehler entdeckt. Sorry.
-
Rechtschreibfehler stören hier, glaube ich, niemanden. ;)
-
Danke!
Das muss ich jetzt erst mal ausprobieren.
Da ich blanke Anfängerin bin, kann das etwas dauern. -
Funxt auch nicht wirklich. Hab mal nen Screenshot der Tabelle gemacht.
Ich brauche: Ware zu Ware, dann Farbe zu Farbe, dann erst Größe.
https://www.dropbox.com/s/yn861gcjtfedr6d/Bildschirmfoto%202018-02-23%20um%2012.59.02.png?dl=0 -
Hallo Frauke,
1. Funktionsfeld NNN erstellen. Formellet DNUM := switch 'Größe' do
case "XS":
1
case "S":
2
case "M":
3
case "L":
4
case "XL":
5
end;
Marke+Bezeichnung+Farbe+DNUM
2.Zweites Funktionsfeld SORT anlegen:
let myHT:=Haupttabelle
let myNN := NNN;
let myNr := Nr;
let myTAB:=select DeineTabelle where Haupttabelle=myHT;
cnt(myTAB [NNN < myNN]) + 1 + cnt(myTAB [NNN = myNN and Nr > myNr])
Grüße
Leo
ps. von wegen "Leo macht keine Fehler"
Content aside
- vor 6 JahrenZuletzt aktiv
- 10Antworten
- 3461Ansichten