Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Holger69 am März 26, 2021, 11:33:14

Titel: Zusammengesetzte Feldnamen sortieren
Beitrag von: Holger69 am März 26, 2021, 11:33:14
Hallo Leute,

ich bin voller Hoffnung, dass mein Problem für Euch von ganz trivialer Problematik ist und mir schnell geholfen werden kann.

Die Spaltenüberschrift einer Kreuztabelle enthält als Feld eine ID (Sollwert_Id-f), welche ich durch das Feld "Stoff" anzeigen möchte. Zuordnung.png
Die Abfrage sieht so aus:Abfrage.png
und liefert folgerichtig dieses:Spaltenüberschriften.png

ABER: Die Sortierung (aufsteigend) wird auf das Feld "Stoff" angewandt und nicht auf die ID. Ich will aber, dass die Spalten in der Reihenfolge der ID angezeigt wird. Ich habe also die ID der Abfrage hinzugefügt

Abfrage mit ID.png

und erhalte folgerichtig das hier
Spalten nach ID sortiert.png

Die Reihenfolge ist jetzt richtig, aber natürlich stören mich jetzt die Zahlen vor den Stoff-Namen.

Kann mir jemand sagen, wie ich die Abfrage gestalten muss, so dass das lediglich Feld "Stoff" in der Reihenfolge der ID in der Kreuztabelle angeordnet wird?

Vielen Dank schon mal für's Lesen und im Voraus für's Antworten.

Gruß,
Euer Holger


Titel: Re: Zusammengesetzte Feldnamen sortieren
Beitrag von: ebs17 am März 26, 2021, 12:15:05
Für eine festgelegte Reihenfolge der Spaltenüberschriften (die ID ist natürlich keine) ohne Extra-Ordnungszahlen müsstest Du fixierte Spaltenüberschriften verwenden, und die Liste dazu müsstest Du Dir extra zusammenbasteln und in die Abfrage einbringen.
...
PIVOT Stoff IN ('Kupfer', 'Eisen', 'Na-Carbonat', 'Arsen')
Titel: Re: Zusammengesetzte Feldnamen sortieren
Beitrag von: Holger69 am März 26, 2021, 13:03:45
Hallo Eberhard,

schön von Dir zu lesen und vielen Dank für Deine Antwort!
Du hat Dir vielleicht schon gedacht, dass diese Frage in Zusammenhang mit den dynamischen Kreuztabellen steht und deshalb ist natürlich der Vorschlag mit den fixierten Spaltenüberschriften leider nicht umsetzbar. Die Spaltenköpfe sind ja bei jeder Abfrage wieder andere.

Eine Ordnungsnummer an Stelle der ID ist leicht möglich, aber löst sie auch mein Problem? Ob ich nun die ID oder die Ordnungsnummer sortiere, der Effekt wird der Gleiche sein oder?
Es wäre einfach, wenn die Abfrage mehr als einen Spaltenkopf (meinetwegen auch mit der Bedingung einer 1:1-Beziehung) zulassen würde. So aber muss ich beide Felder in einem miteinander "vermumpeln".

Könnte man vielleicht in den Abfrage-Kriterien eine separate "Order By-Klausel setzen, die sich nur auf die Ordnungsnummer (oder ID) bezieht?

Viele Grüße,
Holger


Titel: Re: Zusammengesetzte Feldnamen sortieren
Beitrag von: ebs17 am März 26, 2021, 18:14:48
Nö, PIVOT sortiert alphanumerisch nach dem, was da vorliegt, oder ordnet in festgelegte Spalten ein -  sage ich mal so, mir ist noch nichts anderes begegnet.

Zitatin Zusammenhang mit den dynamischen Kreuztabellen
Für Dynamik über die vorhandene Dynamik einer Kreuztabellenabfrage hinaus muss man bezahlen, also etwas mehr Aufwand betreiben. Also etwas mehr als im Editor etwas zusammenzuklicken.

Zitatist natürlich der Vorschlag mit den fixierten Spaltenüberschriften leider nicht umsetzbar
Wenn man sie fest installiert, dann natürlich nicht.
Im Bild 1 hast Du in der Tabelle eine Reihenfolge. Daraus kann man einen String wie gezeigt basteln und damit die Abfrage zusammensetzen, bevor es zu einer Abfrageausführung und -verwendung kommt. Das war Dein primärer Wunsch.

Der eingeweihte Programmierer würde sich dann noch damit beschäftigen, welche Stoffe bei der "dynamischen" Abfrage entfallen würden, um nur mit dem Rest den String zusammenzubauen.