Doppelte Schleife und Probleme mit contains() und Zahlenwerten
Hallo Zusammen,
ich habe leider noch ein Problem:
Ich möchte überprüfen, welche Trikotnummern noch frei sind. Dafür habe ich folgende Schleife gebaut:
let me := this;
let mygroup := (select Spielerdatenbank where Geschlecht = me.Geschlecht and year(Geburtsdatum) = me.year(Geburtsdatum));
let mygivennumbers := unique(sort(mygroup.Trikotnummer));
"Freie Trikotnummern:" + "
" + concat(if even(year(Geburtsdatum)) = true then
for i in range(2, 100, 2) do
if not contains(text(mygivennumbers), text(i)) then
i
else
void
end
end
else
if odd(year(Geburtsdatum)) = true then
for i in range(1, 100, 2) do
if not contains(text(mygivennumbers), text(i)) then
i
else
void
end
end
end
end)
Jetzt klappt das eigentlich ganz gut, jedoch werden mir keine freien Nummern von einstelligen Nummern von 1-9 angezeigt. Ich habe auch schon versucht mit format(i,"00") und format (Trikotnummer,"00") das Ganze in ein anderes Format zu heben, klappt aber auch nicht. Auch mit zwei Schleifen geht es nicht - jedenfalls komme ich da nicht weiter (Stand: for ii in mygroup.Trikotnummer do if i != ii then unique(i) else void end end.
Vielleicht könnt ihr mir noch mal helfen und habt eine Idee...
Liebe Grüße
Stephan
2 Antworten
-
Hallo Stephan,
Ich würde es so ausprobieren:---
let me := this;
let mygroup := (select Spielerdatenbank where Geschlecht = me.Geschlecht and year(Geburtsdatum) = me.year(Geburtsdatum));
let mygivennumbers := "#"+join(mygroup.Trikotnummer,"#")+"#";
let myStart:=if even(year(Geburtsdatum)) then 2 else 1 end;
"Freie Trikotnummern:" + "
" + concat( for i in range(myStart, 100, 2) do
if not contains(mygivennumbers, "#"+i+"#") then
i
end
end)
---
Leo
-
Funktioniert perfekt! Vielen Dank, Leo!
Content aside
- vor 3 JahrenZuletzt aktiv
- 2Antworten
- 375Ansichten