0

Kann Ninox nicht mehr sortieren ???

Ich werde gerade wahnsinnig, weil ich an einer banalen Aufgabe scheitere.

Ich habe eine Untertabelle, die ich einfach nach Nr aufsteigend in einer Schleife durchlaufen möchte und jeweils einen Wert herausholen. Das schafft Ninox nicht mehr.
1. Kommen die Werte total unsortiert und 2. nur die Hälfte....

Vielleicht kann mir hier jemand helfen - evtl. stehe ich auf dem Schlauch  ?

let zz := this;
let a := zz.'Basis-Code';
let b := ((select Werte where Code = zz) order by Nr);
for i in b do
a := zz.'Basis-Code';
a := replace(a, zz.Var1, i.Var1);
a := replace(a, zz.Var2, i.Var2);
zz.('Ergebnis-Code' := zz.'Ergebnis-Code' + "
" + a)
end

 

Ninox-Schleife

3 Antworten

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

    Die Record-ID wird intern als String gespeichert.Wenn man nach der Nummer sortieren will, sollte man deshalb "order by number(Nr)" schreiben. 

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    OK, ich sah bereits und habe ein Numerisches Feld  No := format(Nr,"000") in die Wertetabelle eingefügt und jetzt sortiert er zwar korrekt aber es werden dazwischen ca. 1/3 aller Einträge trotzdem übersprungen....

    let zz := this;
    let a := zz.'Basis-Code';
    let w := ((select Werte) order by No);
    for i in w order by No do
    a := "--- " + i.No + " ---
    ";
    a := a + zz.'Basis-Code';
    let b := replace(a, zz.Var1, i.Var1);
    let c := replace(b, zz.Var2, i.Var2);
    zz.('Ergebnis-Code' := zz.'Ergebnis-Code' + "
    " + c)
    end

     

    Ergebnis:

    --- 001 ---
    if zz.'Birth Country' then
    c.('Birth Country' := zz.'Birth Country');
    zz.('Birth Country' := "")
    end;
    --- 002 ---
    if zz.'Birth district' then
    c.('Birth district' := zz.'Birth district');
    zz.('Birth district' := "")
    end;
    --- 004 ---
    if zz.'Nationality born' then
    c.('Nationality born' := zz.'Nationality born');
    zz.('Nationality born' := "")
    end;
    --- 005 ---
    if zz.'Nationality currently' then
    c.('Nationality currently' := zz.'Nationality currently');
    zz.('Nationality currently' := "")
    end;
    --- 007 ---
    if zz.'Street origin' then
    c.('Street origin' := zz.'Street origin');
    zz.('Street origin' := "")
    end;
    --- 008 ---
    if zz.'Home No. origin' then
    c.('Home No. origin' := zz.'Home No. origin');
    zz.('Home No. origin' := "")
    end;
    --- 009 ---

    usw......

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Man wird da wahnsinnig !! Ich hab's hinbekommen.... das Textfeld direkt jeweilis zu erweitern geht nicht! Vielleicht ist es zu langsam, obwohl ich das bisher immer (!) so gemacht habe.

    Habe  jetzt erst mal alles in eine Textvariable hinein-erzeugt und die dann am Ende ins Textfeld gespuckt - dann geht's und alles ist drin.... Frage man sich jetzt mal wieder, was geändert wurde, dass es bisher so ging und jetzt nicht....

    let zz := this;
    let bc := zz.'Basis-Code';
    let w := ((select Werte) order by No);
    let e := zz.'Ergebnis-Code';
    for i in w do
    let a := bc;
    let b := replace(a, zz.Var1, i.Var1);
    let c := replace(b, zz.Var2, i.Var2);
    e := e + " " + c + "
    "
    end;
    zz.('Ergebnis-Code' := e)

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 3Antworten
  • 314Ansichten