0

Schleife

Letzte Frage für heute.

 

Ich habe den Namen mit split() im Berechnungsfeld SplitVorname und SplitNachname separiert. Dann kann ich mit dem Button und dem Script

---

Vorname := SplitVorname;
Nachname := SplitNachname

---

den Inhalt in Vorname und Nachname schreiben. Das geht dann allerdings nur Datensatz für Datensatz. Da ich insgesamt  509 habe benötige ich eine Schleife die den Vorgang automatisiert. 

Leider stehe ich mit der Syntax dieser For next Schleifen noch auf dem Kriegsfuß. Wer kann helfen.

Wolfgang

5 Antworten

null
    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Habe wieder probiert. Wäre schön, wenn mir jemand sagen könnte warum das so nicht funktioniert?

    ---
    let myVorname := SplitVorname;
    let myNachname := SplitNachname;
    for i from 1 to cnt(select AUTHORS) do
    Text := myVorname;
    'Text 2' := myNachname
    end

    ---

    cnt(selectAuthors) gibt die Anzahl der Datensätze in der Tabelle wieder und lt. Ninoxreferenz DB ist die Syntax

    for laufindex from Schleifenbeginn to Schleifende step Schrittweite do Anweisungen end ( und Schrittweite wenn nichts angeben = 1

    Wolfgang

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang,

     

    for i in select AUTHORS do
    i.Text := i.SplitVorname;
    i.'Text 2' := i.SplitNachname
    end

     

    sollte es eigentlich tun.

     

    lg, Torsten

    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Torsten, das tut es. Kannst Du mir evtl. noch sagen, was bei meinem Versuch wieder falsch war. Möchte ja irgendwann mal alleine lösen.

    Danke

    Wolfgang

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

    Hallo Wolfgang, ich bin zwar nicht Torsten, aber vielleicht darf ich mich auch an einer Erklärung versuchen.

    Bei deinem Script fehlt der Bezug zum jeweiligen Datensatz. Es werden theoretisch immer wieder dieselben Felder (Text) mit demselben inhalt (myName) gefüllt. 

    Text := SplitVorname

    Die Variable 'i' wird bei jedem Schleifendurchlauf hochgezählt und enthält die jeweilige Datensatznummer. Indem man diese Variable nun den Feldnamen voranstellt, werden die Werte Datensatz für Datensatz neu eingelesen und zugewiesen:

    Datensatz1.Text := Datensatz1.SplitVorname
    Datensatz2.Text := Datensatz2.SplitVorname
    Datensatz3.Text := Datensatz3.SplitVorname
    usw.

    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    O. K. verstehe vielen Dank das hilft.

    Wolfgang

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 5Antworten
  • 1904Ansichten