0

Zufällige Datensätze

Hallo Community,

ich habe mal wieder ein Problemchen:

Ich habe eine Tabelle mit Aufgabenkarten, woraus ich mit 3 zufällige ausgeben möchte. Das ganze funktioniert auch.

let myAnz:=cnt(select Aufgabenkarten where xxx = yyy)

let ZFG1 := round(random() * (myAnz - 1) + 1, 0);
let ZFG2 := round(random() * (myAnz - 1) + 1, 0);
let ZFG3 := round(random() * (myAnz - 1) + 1, 0);

und dann über ITEM die richtigen Datensätze ausgewählt. 

Nur kann es passieren das zweimal, oder auch dummerweise 3 mal der selbe Datensatz gewählt wird. 

Wie bekomme ich es hin 3 unterschiedliche Datensätze gewählt werden.

 

Vorab vielen Dank

1 Antwort

null
    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Johannes. Hier mal ein Codeschnipsel für diese Aufgabe. Das Ergebnis ist ein Array mit den Datensatznummern. Das kannst Du natürlich weiter verarbeiten. Im Beispiel ist der Code für einen Button der in ein Textfeld schreibt. Gruß Mirko

    *

    let ary := (select Aufgabenkarten).number(Nr);
    let result := [0];
    result := [];
    while cnt(unique(result)) < 3 do
    let rand := floor(random() * cnt(ary));
    let randItem := item(ary, rand);
    result := array(result, [randItem])
    end
    ;
    let endResult := unique(result);
    TEXTFELD := text(endResult)

    *