Automatisierung
Hallo Zusammen, ich habe eine Tabelle "XY", eine weitere Tabelle "Jahr" und darunter eine Untertabelle "Monat". Wenn nun das Datum geändert wird, soll Ninox den Datensatz "Jahr" und den Datensatz "Monat" automatisch nach ausgewähltem Datum verknüpfen. Wie kann ich das realisieren? :)
7 Antworten
-
-
Hallo Paul,
Angenommen das Feld für Jahreszal in der Tabelle Jahr heißt JahrNummer und das Feld für Monatszahl in der Tabelle Monat heißt Monatsnummer ´. Dann wäre die Formel als trigger nach Änderung beimFeld Datum:
---
let me:=this;
Jahr:=0;
Monat:=0;
if Datum then
if cnt (select Jahr where JahrNummer=year(me.Datum))=0 then
let newYear:=create Jahr;
newYear.JahrNummer:=year(me.Datum)
end;
Jahr:=first(select Jahr where JahrNummer=year(me.Datum);
if cnt(Jahr.Monat[Monatsnummer=month(me.Datum)])=0 then
let newMonth:=create Monat;
newMonth.Jahr:=first(select Jahr where JahrNummer=year(me.Datum)
end;
Monat:=first(Jahr.Monat[Monatsnummer=month(me.Datum)])
end---
Dabei prüft Ninox ob die Datensätze für Jahr und Monat existieren und falls nein, legt diese an. Danach verknüpft er die Datensätze.
Leo
-
Hallo Leo, vielen Dank für deine wie immer schnelle und kompetente Hilfe :)
Noch eine Sache: Ich weiß nicht was ich falsch gemacht habe, er sagt mir "Symbol erwartet in Zeile 13 Spalte 3"
Hier der komplette Code:
let me:=this;
Jahr:=0;
Monat:=0;
if Datum then
if cnt (select Jahre where Jahr=year(me.Datum))=0 then
let newYear:=create Jahre;
newYear.Jahr:=year(me.Datum)
end;
Jahr:=first(select Jahre where Jahr=year(me.Datum);
if cnt(Jahr.Monat[Monat=month(me.Datum)])=0 then
let newMonth:=create Monate;
newMonth.Jahr:=first(select Jahre where Jahr=year(me.Datum)
end;
Monat:=first(Jahr.Monat[Monat=month(me.Datum)])
end -
Hallo Paul,
eine Klammer am Ende der 13. Zeile fehlte:
---
let me:=this;
Jahr:=0;
Monat:=0;
if Datum then
if cnt (select Jahre where Jahr=year(me.Datum))=0 then
let newYear:=create Jahre;
newYear.Jahr:=year(me.Datum)
end;
Jahr:=first(select Jahre where Jahr=year(me.Datum);
if cnt(Jahr.Monat[Monat=month(me.Datum)])=0 then
let newMonth:=create Monate;
newMonth.Jahr:=first(select Jahre where Jahr=year(me.Datum))
end;
Monat:=first(Jahr.Monat[Monat=month(me.Datum)])
end
---
Leo
-
Hallo Leo, :)
nun sagt er "Symbol erwartet: , in Zeile 15, Spalte 3"
-
let me := this;
Jahr := 0;
Monat := 0;
if Datum then
if cnt((select Jahre)[Jahr = year(me.Datum)]) = 0 then
let newYear := (create Jahre);
newYear.(Jahr := year(me.Datum))
end;
me.(Jahr := first((select Jahre)[Jahr = year(me.Datum)]));
if cnt(Jahr.Monat[Monat = month(me.Datum)]) = 0 then
let newMonth := (create Monate);
newMonth.(Monat := month(me.Datum));
newMonth.(Jahr := me.Jahr)
end;
me.(Monat := first(Jahr.Monat[Monat = month(me.Datum)]))
end -
SUPER! :) herzlichen Dank
Content aside
- vor 4 JahrenZuletzt aktiv
- 7Antworten
- 710Ansichten