0

Werte aus String abarbeiten

Hallo

Ich habe in einem Formel Feld ein Reihe(Array) mit Datensatznummern ausgegeben. nun möchte ich gerne die Datensatznummern mit einem Button vorwärts durchlaufen und die Datensatznummer aus dem Array in ein Nummernfeld und oder in ein Textfeld schreiben.

die Erste Datensatznummer auszulesen ist noch einfach:

let y := text(Formel);
let z := item(split(y, ","), 0);
Datensatznummer := z;
Text := z;

Wie kann ich jetzt zur nächsten Nummer springen aktuell ist ja die erste Nummer bekannt diese steht ja im Textfeld. Dann ist die Nächste Nummer ja ein Zeichen(Komma) weiter als die bekannte Nummer aus dem Textfeld und endet vor dem nächsten Komma usw...

mit extractx bin ich nicht so richtig weiter  gekommen

Gruß

Andreas

2 Antworten

null
    • mirko3
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Hi Andreas. Du könntest folgende Scripte für die Button versuchen. Das erste für vorwärts und das zweite für rückwärts. Mirko

    let idx := index(Formel, number(Datensatznummer));
    if idx < length(Formel) - 1 then
        Datensatznummer := item(Formel, idx + 1)
    else
        Datensatznummer := last(Formel)
    end
    
    let idx := index(Formel, number(Datensatznummer));
    if idx > 0 then
        Datensatznummer := item(Formel, idx - 1)
    else
        Datensatznummer := first(Formel)
    end
    
      • Andreas_Kappes
      • vor 6 Monaten
      • Gemeldet - anzeigen

      Hallo Mirko

      danke für die Hilfe das hat mir jetzt auf die Sprünge geholfen mußte es etwas abändern und ein zusätzliches Feld einfügen für die Indexnummer (DatensatzIndex):

      der Code für nächste vorwärts lautet nun so:

      let idx := DatensatzIndex;
      if idx < length(Formel) - 1 then
          DatensatzIndex := idx + 1;
          Datensatznummer := item(Formel, idx)
      else
          Datensatznummer := last(Formel);
          DatensatzIndex := cnt(Formel)
      end

       für Rückwärts:

      let idx := DatensatzIndex;
      if idx > 1 then
          idx := idx - 1;
          DatensatzIndex := idx;
          Datensatznummer := item(Formel, idx - 1)
      else
          DatensatzIndex := 1;
          Datensatznummer := first(Formel)
      end

Content aside

  • vor 6 MonatenZuletzt aktiv
  • 2Antworten
  • 77Ansichten
  • 2 Folge bereits