select Frage zum aufbau der Formel
Hallo kann mir jemand den Unterschied der schreibweissen erklären?
1. let JobProjekt := first((select P_Detail)[start(Termin) > myDatum and Kontakte.Nr = myKontakte] order by Datum).PROJEKTE.'Projekt-Bez';
2. let JobProjekt := null;
JobProjekt := first((select P_Detail)[start(Termin) > myDatum and Kontakte.Nr = myKontakte] order by Datum).PROJEKTE.'Projekt-Bez';
3. let JobProjekt := null;
first((select P_Detail)[start(Termin) > myDatum and Kontakte.Nr = myKontakte] order by Datum).(JobProjekt := PROJEKTE.'Projekt-Bez');
in 1. bekomme ich ein Ergebniss in "JobProjekt" bei 2. und 3. nicht!
in einer Anderen Formel aber im gleichen Skript habe ich 3. mit mehren Feldern in der Klammer: let myNr := null;
let myDatum := null;
(select Hilfstabelle_User where UserID = myUserID).(
myNr := 'P_Detail-Nr';
myDatum := 'P_Detail-Datum'
);
und das Funktioniert.
Der vorteil von schreibweise 3. ist das ich mit nur einem select
mehrere Felder abfragen kann was enorm die Laufzeit bei einer komplexen Abfrage verkürzt.
Noch mal die Frage im obigen Beispiel in 1. bekomme ich ein Ergebniss bei 2. und 3. nicht. woran liegt das?
2 Antworten
-
Hallo,
ich könnte mir vorstellen, dass es bei Veersion 2. und 3. Probleme gibt, da bei der Definition von JobProjekt der Datentyp noch nicht bekannt ist. Warum Version 3. im zweiten Script klappen sollte ist mir eher schleierhaft. Für meine Augen sieht nur die Version 1. überhaupt richtig aus.
Ich würde für die Aufgabenstellung per Select den ganzen Datensatz abfragen und dann anschließend auf die einzelnen Felder zugreifen:
let JobProjekt := first(select P_Detail where start(Termin) > myDatum and Kontakte.Nr = myKontakte order by Datum;
let ProjBezeichnung := JobProjekt.PROJEKTE.'Projekt-Bez';
let Beispielfeld2 := JobProjekt.Beispielfeld2;
...Hier brauchst du dann auch nur noch eine Abfrage (ich arbeite beim select lieber mit "where" als mit den eckigen Klammern - aber das ist eher nebensächlich)
VG Frank
-
Hallo Frank,
wie viele möglichkeiten es in NINOX gibt genjal ... mit der abfrage vom Ganzen Datensatz und es danach auftröseln genjal.
DANKE
Content aside
- vor 5 JahrenZuletzt aktiv
- 2Antworten
- 1365Ansichten