Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Zahlenwerte in Feldern zusammenfassen

Begonnen von Brallu, Oktober 31, 2025, 17:07:30

⏪ vorheriges - nächstes ⏩

Brallu

Hallo Gemeinde,
ich habe eine Tabelle mit 6 Feldern. In diesen Feldern stehen Zahlen.
Diese Zahlen sollen in einem berechneten Feld zusammengefast werden.
Allerdings sollen die Fleder mit dem Wert Null nicht mit erfasst werden.

Sie dürfen in diesem Board keine Dateianhänge sehen.

In diesem Bild habe ich die Felder als Text formatiert und mit dem Code zusammengefasst!

NrBerechnet: [anAnNr1] & "."+[anAnNr2] & "."+[anAnNr3] & "."+[anAnNr4] & "."+[anAnNr5] & "."+[anAnNr6]

Jetzt brauche ich die Werte aber als Zahl. Gibt es da eine Möglichkeit das einfach zu erstellen??

Gruß  :)

Danny

andyfau

Hallo Danny,
was heißt "als Zahl"? Ohne Punkte? Dann multipliziere doch einfach mit 10, 100, 1000, usw. Dann steht der Eintrag an der jeweiligen Stelle.
Beste Grüße
Andreas

MzKlMu

#2
Hallo,
das kann als Zahl nicht dargestellt werden, Du verkettest da ja Punkte (.) Das ist und bleibt Text.

Was sind das für Werte (anAnNr1 - ..6) ?
Gruß Klaus

Brallu

Moin es handelt sich um den Felddatentyp Zahl!

Die Felder sind zum sortieren in Reihenfolge für mich wichtig (glaube ich)!
Das was zusammengefasst werden soll muss keine Zahl sein und ist nur für das Formular zum Anzeigen gedacht.
Kann ich auch über die Textfilter richtig in Reihenfolge sortieren??

Dann könnte das ja so bleiben wie es ist. Das ganze ist sowas wie die Reihenfolge eines Inhaltsverzeichnisses.

Also sind die Werte als Zahl Quatsch??

MzKlMu

Hallo,
das berechnete Feld kann nur Text sein und wird auch als Text sortiert.
Mit einem Filter kann man nicht sortieren.
Gruß Klaus

Bitsqueezer

Hallo,

ich verwende so eine Verkettung auch bei hierarchischen Daten, ganz besonders, um eben eine Reihenfolge hinzubekommen, die der Hierarchie entspricht und innerhalb einer Ebene nicht unbedingt nach z.B. einem enthaltenen Namen sortiert werden soll, sondern z.B. nach einer Sortierzahl.

Die richtige Sortierung ist auch mit Text ganz einfach zu bewerkstelligen: Du mußt wissen, wie groß die größte Zahl werden könnte, und dann formatierst Du die Zahl mit führenden Nullen. Dabei ist nur wichtig, daß die Anzahl der größten Zahl auf der gleichen Ebene entspricht.

Ergebnis ist dann z.B.

0001.0001.0001.000000016.00003.000001

Der gesamte String kann dann mit korrekter numerischer Sortierung je Hierarchieebene verwendet werden.
Die Umwandlung ist simpel mit "Format" zu bewerkstelligen.

In SQL Server gibt es rekursive Abfragen, da kann man sich solche Sortierpfade automatisch erstellen lassen, wenn die Hierarchie ordentlich aufgebaut wurde (nicht wie hier in Aufzählungsfeldern).

Gruß

Christian

Normalo0815

Hallo Brallu,

Zitat von: Bitsqueezer am Oktober 31, 2025, 22:03:21Der gesamte String kann dann mit korrekter numerischer Sortierung je Hierarchieebene verwendet werden.
Die Umwandlung ist simpel mit "Format" zu bewerkstelligen.

In dem Fall also z. B. so (Beispiel Abfrage in SQL-Ansicht):

SELECT
  ...
  anAnNr1 & "." + anAnNr2  & "." + anAnNr3 & "." + anAnNr4 & "." + anAnNr5 & "." + anAnNr6 AS NrBerechnet
  ...
FROM
  DeineTabelle
ORDER BY
  anAnNr1,
  anAnNr2,
  anAnNr3,
  anAnNr4,
  anAnNr5,
  anAnNr6

Das würde auch eine Indexnutzung zulassen, falls die Aufzählungsfelder indiziert sind (bessere Performance bei vielen Datensätzen).
Freundliche Grüße
Normalo0815   :)

Bitsqueezer

Hallo,

in SQL Server kann man solche Spalten auch als persistent markieren, dann sind sie selbst gespeichert und indizierbar. Das geht in Access zwar leider nicht, aber man kann natürlich den Ergebnisstring als Feld speichern und indizieren, dann hat man nur ein Sortierkriterium.

Nur reicht es hier nicht, die Zahlen mit "." zu verketten - wie gesagt, mit führenden Nullen auffüllen mit Format, ansonsten werden die Zahlen im String als Text sortiert.

Gruß

Christian