openRecord Frage
Mahlzeit, ich habe eine Frage zur openRecord-Funktion.
Ich habe 2 Tabellen:
"Bestand" und "Aufträge".
In beiden Tabellen gibt es ein Textfeld für die Fahrgestellnummer.
Nun möchte ich in der Tabelle "Bestand" einen Button drücken, um zu einem Datensatz in "Aufträge" zu springen bzw. wenn die Fahrgestellnummer dort nicht vorhanden ist, diesen anzulegen und dann zu diesem Datensatz zu springen.
Mein "else"-Teil passt. Nur mein "then"-Teil springt nicht zum gewünschten Datensatz.
Hier der Code:
let myVIN := Fahrgestellnummer;
if cnt(select 'Aufträge' where Fahrgestellnummer = myVIN) > 0 then
openRecord(den gefundenen Datensatz in Aufträge)
else
let me := this;
let cp := (create 'Aufträge');
cp.(Fahrgestellnummer := me.Fahrgestellnummer);
openRecord(cp)
end
2 Antworten
-
Die Frage ist tatsächlich, was Du in den openRecord Klammern zwischen if und else einsetzt. So müsste es gehen:
let myVIN := Fahrgestellnummer; if cnt(select 'Aufträge' where Fahrgestellnummer = myVIN) > 0 then openRecord(first(select 'Aufträge' where Fahrgestellnummer = myVIN)) else let me := this; let cp := (create 'Aufträge'); cp.(Fahrgestellnummer := me.Fahrgestellnummer); openRecord(cp) end
Ohne first() wären mehrere Ergebnisse möglich und somit würde Ninox auch nur bei einem Treffer nicht in den Datensatz springen. Bei solchen sachen immer dafür sorgen, dass es ein eindeutiges Ergebnis gibt.
Alternativ müsste auch folgendes gehen:
let myVIN := Fahrgestellnummer; let rec := first(select 'Aufträge' where Fahrgestellnummer = myVIN) if rec then openRecord(first(select 'Aufträge' where Fahrgestellnummer = myVIN)) else let me := this; let cp := (create 'Aufträge'); cp.(Fahrgestellnummer := me.Fahrgestellnummer); openRecord(cp) end
Content aside
- Status Answered
- vor 2 TagenZuletzt aktiv
- 2Antworten
- 23Ansichten
-
2
Folge bereits