Kann man folgendes script vereinfachen?
Hallo, ich bin noch relativer Neuling... ich möchte aus verschiedenen Tabellen die Kosten des jeweilig ausgewählten Jahres summieren. Die Tabelle Systemparameter hat jährlich neue Records. Und diese jährlichen Records sollen auch nur die zu diesem Jahr passenden Kosten anzeigen.
Mein script funktioniert zwar so, aber mir erscheint meine Lösung zu " bombastisch" - gibt es eine elegantere Lösung? Ich bin übrigens apple-User und somit Nutzer der icloud-drive als Mono-Nutzer.
9 Antworten
-
Also einerseits kann man die
let recorddate := 'Gilt ab:';
einmal oben global für alle Teile definieren.
Wie sieht die Tabellenstruktur aus? Sind die Tabellen "Produkt Dienstleitungen" usw. alle mit der Tabelle "System-Parameter" verknüpft?
Wenn du eine Gesamtübersicht haben möchtest hätte ich das jetzt so gebaut, dass die anderen Tabellen eine Verknüpfung zu der Tabelle "System-Parameter" hat. Ich habe es jetzt so verstanden, dass es einen Datensatz in "System-Parameter" gibt pro Jahr, dann würde ich in den anderen Tabellen bei dem Trigger "Trigger bei neuem Datensatz" folgendes eintragen:
'System-Parameter' := first(select 'System-Parameter' where year('Gilt ab:') = year(today))
Somit ist dann jeder Datensatz immer automatisch für die jeweilige Jahresansicht verknüpft.
Ich glaube deine "select" Anweisungen sind alle unnötig, würde behaupten mit dieser Syntax sollte es auch gehen:
let recorddate := 'Gilt ab:'; let sumFahrtkosten := sum('Produkt Dienstleistung'.'Kreditor Fahrtkosten'); let sumVerpflegung := .... ... let sumGesamt := sumFahrtkosten + sumVerpfegung + ....
-
Hallo, vielen Dank für diese komprimiertere Form...
Die Tabellen mit den Kosten sind alle mit den System-Parametern verknüpft...
ich hatte es anfangs auch schon so versucht, hatte aber Probleme mit der Auswahl des Jahres... und somit entstand meine Verschachtelung der Funktionen... Nochmals vielen Dank !!
-
said:
select-where soll angeblich auch die schnellere Variante sein...Aber nicht bei verknüpften Tabellen. Da ist auf jeden Fall Torstens Variante ohne "select" und Bedingung in eckigen Klammern effektiver.
Das "select" benötigt man nur bei Tabellen, die nicht mit der aktuellen verknüpft sind. Dabei hat man die Wahl, ob man die Bedingung mit "where" oder in eckigen Klammern formuliert. In diesem Fall empfiehlt Ninox die Variante mit "where".
Content aside
- vor 3 MonatenZuletzt aktiv
- 9Antworten
- 55Ansichten
-
4
Folge bereits