0

Datensatz finden und wert setzen

Hallo liebe Ninox-Freunde,

 

ich ärger mich seit einiger zeit mit folgendem Problem rum:

Ich habe ein schichtbuch bei dem ich gern per trigger und dynamischem Mehrfachauswahlfeld (Maschinenbelegung) + dynamischem Einfachauswahlfeld (Verantwortlicher)

Personen Maschinen zuordnen will und das dann in die Maschinen-Tabelle schreiben.

hier mal meine Formel:

let myperson := number(Verantwortlicher);
let mykuerzel := do as database '11_PS-Personal und Sicherheit'
        first((select Personen where number(Nr) = myperson).'Namenskürzel')
    end;
let myArr := numbers(Maschinenbelegung);
let mybarr := (select Maschinen where number(Nr) = myArr);
for i in mybarr do
    i.('derzeit verantwortlich' := mykuerzel)
end;
Verantwortlicher := null;
Maschinenbelegung := null

meine Lösung ist bisher:

let myperson := number(Verantwortlicher);
let mykuerzel := do as database '11_PS-Personal und Sicherheit'
        first((select Personen where number(Nr) = myperson).'Namenskürzel')
    end;
let myArr := numbers(Maschinenbelegung);
for i in myArr do
    let mybarr := (select Maschinen where number(Nr) = i);
    for j in mybarr do
        j.('derzeit verantwortlich' := mykuerzel)
    end
end;
Verantwortlicher := null;
Maschinenbelegung := null

 

gibts irgend ne Möglichkeit dass ich das i als Suchwert nehme um einen Datensatz zu finden und zu verändern ohne dass ich noch einen weiteren loop reinbringe?

 

vielen Dank vorab

1 Antwort

null
    • Ninox-Professional
    • planoxpro
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Hallo Christian, wenn ich es richtig sehe, dann enthält die Variable 'i' jeweils die Nummer eines Datensatzes aus der Tabelle 'Maschinen'. Will man ohne Umwege direkt auf diesen Datensatz zugreifen, so kann man das mit record() tun:

    record(Maschinen, i)
    

    Rückgabewert wäre die komplette ID des betreffenden Datensatzes.

    Über die Punktnotation ließe sich aber auch direkt auf einzelne Felder zugreifen, als Beispiel:

    record(Maschinen, i).MaschinenNr