Der Grund, warum ich mich mit den +64 vs. +65 verhauen habe ist, dass der Editor, solange die Schleife nicht aktiv durchlaufen wird, für
Lieferscheinpositionen.InterneAuftragspositionsnummer nicht den Wert der Ersten Lieferposition, also 1 zurückliefert, sondern immer 0. Das gilt für alle Variablen im Berichtscontainer, evaluiert wird immer erst, wenn die Schleife auch läuft, man sieht also nur in der Layout-Ansicht, was wirklich Sache ist. Ich vergess das immer wieder ...
Ok, hier noch ein Schmankerl. Falls man nämlich mehr als 26 Lieferpositionen hat, läuft die Logik von oben ins Leere, über 26 hinauszukommen ist aber nicht mehr ganz so trivial. Hier also die gleiche Logik von oben aber für Werte von "A .. ZZ", also für maximal 702 Lieferpositionen.
Code:
Cond(Int((Count(Lieferscheinpositionen.InterneAuftragspositionnummer,false)-1)/26)>0, Chr$(Int((Count(Lieferscheinpositionen.InterneAuftragspositionnummer,false)-1)/26)+64),"")+Chr$(Cond((Count(Lieferscheinpositionen.InterneAuftragspositionnummer, false)%26)>0,Count(Lieferscheinpositionen.InterneAuftragspositionnummer, false)%26,26)+64)
Das ist ein beliebtes Übungsding für's Programmierenlernen, weil die Schleife ab 1 läuft und sich mit Modulo, Trunc/Int überall in die Quere kommt. - List & Label ist wirklich keine echte Programmiersprache, aber auch das geht 1a...
P.S. Euch auch ein frohes Osterfest. Ich geh jetzt Eier suchen...