0

Textfeld über mehrere Zeilen aufsplitten

Hallo zusammen,

ich habe ein Problem bei dem ich trotz längerer Suche im Forum leider nicht weiterkomme.

 

In einer Tabelle habe ich ein mehrzeiliges Textfeld mit folgendem Inhalt (Mess-ID;Spannung;Strom):
1234;231;11

1323;229;5

1234;228;8

 

Ich möchte jetzt diese Daten in eine Untertabelle schreiben und zwar soll jede Zeile ein neuer Datensatz sein.

Für die erste Zeile ist das auch kein Problem, aber wie bekomme ich eine Schleife hin die mir das für jede Zeile macht?

 

let myARRAY := split(Textfeld, ";");
let id_Messung := item(myARRAY, 0);
let spannung := item(myARRAY, 1);
let strom := item(myARRAY, 2);
let id := 'Protokoll-ID';
let newDatensatz := (create Messprotokoll);
newDatensatz.('Protokoll-ID' := id);
newDatensatz.('Spannung[V]' := spannung);
newDatensatz.('Strom[A]' := strom);

 

Vielen Dank schon mal im vorraus!

3 Antworten

null
    • RMS Immobilière
    • Arsene_Nickels
    • vor 3 Jahren
    • Gemeldet - anzeigen

    let me:=this;

    let CurrentRecord:=Nr;

    for i in select DeinTabellenname do

    let myARRAY := split(me.Textfeld, ";");
    let id_Messung := item(myARRAY, 0);
    let spannung := item(myARRAY, 1);
    let strom := item(myARRAY, 2);
    let id := 'Protokoll-ID';
    let newDatensatz := (create Messprotokoll);
    newDatensatz.('Protokoll-ID' := id);
    newDatensatz.('Spannung[V]' := spannung);
    newDatensatz.('Strom[A]' := strom);

    newDatensatz.DeinTabellenname:= CurrentRecord;

    end

    • RMS Immobilière
    • Arsene_Nickels
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ohne es getestet zu haben, bin ich mir nicht sicher, ob man nicht mit "first" arbeiten muss. Eventuell musst du auch me.Textfeld durch i.Textfeld ersetzen.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen, mein Vorschlag:

     

    let myA1 := split(Textfeld, "
    ");
    for i in myA1 do
       let myA2 := split(i, ";");
       let newP := (create Messprotokoll);
       newP.(
       'Mess-ID' := item(myA2, 0);
       'Spannung[V]' := item(myA2, 1);
       'Strom[A]' := item(myA2, 2)
       )
    end

     

    Das bezieht sich auf das Textfeld im aktuellen Datensatz. Will man das für mehrere/alle Datensätze machen, müsste man den Code in eine weitere Schleife packen:

     

    for x in select TABELLE do
       let myA1 := split(x.Textfeld, "
    ");
       for i in myA1 do
          let myA2 := split(i, ";");
          let newP := (create Messprotokoll);
          newP.(
          'Mess-ID' := item(myA2, 0);
          'Spannung[V]' := item(myA2, 1);
          'Strom[A]' := item(myA2, 2)
          )
       end
    end