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
-
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
Content aside
- vor 11 MonatenZuletzt aktiv
- 1Antworten
- 37Ansichten
-
2
Folge bereits