0

Zufallsgenerator in gefilterter Tabelle

Hallo Zusammen, wir möchten gerne einen Zufallsgenerator in Ninox bauen. 

Dazu möchten wir gerne, dass der Code einen zufälligen Datensatz aus der Tabelle "Teilnehmer" wählt, jedoch nur alle Teilnehmer aus einem bestimmten Ort (Textfeld). Über floor(random() * 100) spuckt Ninox zwar eine zufällige Zahl aus, wenn ich das nun auf die Tabelle "Teilnehmer" anwende, wählt er mir auch einen zufälligen Teilnehmer aus, jedoch weiß ich nicht, wie ich es hinbekomme, dass er einen zufälligen Teilnehmer aus einem bestimmten Ort wählt. 

Kann mir jemand helfen? :)

3 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Paul, mal so auf die Schnelle:

    let myOrt := "Hamburg";
    let myLoop := true;
    while myLoop do
       let myZ := floor(random() * 100);
       let myT := first(select Teilnehmer where Ort = myOrt and number(Nr) = myZ)
       if myT then myLoop := false end
    end;
    myT.TName
    
      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Ich sehe gerade, dass mein Script zu einer Endlosschleife führen kann, wenn es keinen Datensatz zu "Hamburg" gibt. Müsste also noch angepasst werden. Man sollte solche Sachen halt nicht "auf die Schnelle" machen ... 😱

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Wenn die Anzahl in dem Ort unbekannt ist, oder dynamisch ist, dann geht auch

    let ortEvent := "Hamburg";
    let selTab := (select Teilnehmer)[Ort = ortEvent];
    item(selTab, floor(random() * cnt(selTab))).Name