Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: theBastian am 02.10.12 - 08:05:55
-
Guten Morgen allerseits,
ich habe ein Problem. Was sonst. ;-) Und ich habe einen Lösungsansatz. Der erscheint mir allerdings sehr umständlich. Vielleicht hat ja jemand eine bessere Lösung und kann mir helfen. Danke schonmal fürs Lesen.
Problem
Array, ausgelesen aus einem Dokument in einer anderen DB
5554001_Wert1
5553002_Wert2
5551004_Wert3
5553008_Wert4
Dieses Array soll nach den markierten Werten aufsteigend sortiert werden.
Mein Lösungsansatz
Mit einer Schleife über alle Werte gehen, mit Left$ und Right$ den Sortierwert extrahieren und mit Trennzeichen vor den Wert schreiben.
40$$$5554001_Wert1
30$$$5553002_Wert2
10$$$5551004_Wert3
30$$$5553008_Wert4
Dann schön sortieren und mit einer weiteren Schleife den Sortierwert und das Trennzeichen wieder entfernen.
Ganz schön umständlich, oder? :-(
-
Variiert der Anteil denn. Also heute ist es Position 4+5, morgen 5+6?
Ansonsten wäre es doch fast schon einfacher, eine eigene Ansicht zu bauen und den part als 2. sortierte Spalte zu verwenden.
-
Nein, variiert nicht, immer 2 Zeichen lang und an der gleichen Stelle. Ich kann aber in der anderen DB keine Ansicht bauen sondern nur auf vorhandene zugreifen. :-(
-
Mit @Formel ginge das einfach so:
@Right(@Sort(@Middle(Feld;3;2) + ("$" + Feld));"$")
Das kannst Du in Script mit Evaluate auch machen.
Falls Du auf das Dokument "doc" zugreifst und aus dem Feld "Feld" auslesen willst, dann so:
liste = Evaluate( |@Right(@Sort(@Middle(Feld;3;2) + ("$" + Feld));"$")|, doc )
Andreas
-
Na das sieht doch schon wesentlich besser aus. :-)
Und Evaluate ist es egal, dass das "doc" in einer anderen DB ist?
-
Kann meine letzte Frage selbst mit "JA" beantworten.
Läuft. Vielen Dank für Eure Hilfe. :-)