Nach Öffnen der DB folgendes Skript (in Tabelle A) ausführen ...
Hallo zusammen,
ich habe ein funktionierendes Skript, welches sich in Tabelle A wunderbar mit einem Button auslösen lässt. Jetzt wäre es toll, wenn dieses Skript mit der Opion "Nach Öffnen der DB folgendes Skript ausführen" immer selbstständig laufen würde.
Aber wie sage ich den der Option, dass das Skript für Tabelle A gedacht ist?
Dank und Gruß
Björn
7 Antworten
-
Hallo Björn,
wie lautet denn der Code für die Tabelle A?
Leo
-
Hallo Leo,
da meine Folgetermine idR ein Jahr in der Zukunft sind, sieht meine "Terminvorbereitung und Erinnerung" wie folgt aus:
if date(start(Folgetermin)) = today() - 60 then
let me := this;
me.(Folgetermin := null);
let newT := (create Audittermine);
newT.(
...
newT.('Termin:' := me.Folgetermin);
openRecord(newT, "Audittermine")
end
-
Hallo Björn,
mir ist nicht klar, warum du den Audittermin nicht direkt beim beim Anlegen des Folgetermins machst. Ich gehe davon aus dass beide Felder (Folgetermin und 'Termin:') sich in der gleichen Tabelle Audittermine befinden. Die Aufgabe ist es, ab 60 Tage vor dem Folgetermin einen Datensatz mit dem neuen Audittermin anlegen und das Feld Folgeterminn zu löschen:
---
let check:=select Audittermine where Folgetermin and date(start(Folgetermin))>=date(year(today()),month(today()),day(today())-60);
if cnt(check)>0 then
let news:=for in in check do
let newT:=create Audittermine;
newT.(
...
newT.('Termin:' := i.Folgetermin);
i.Folgetermin:=null;
newTend;
let myPopup:= dialog ("neue Audittermine","Folgende Aidittermine wurden erstellt:", unique(news.format(start('Termim:'),"DD.MM.YYYY"),"OK"))
for i in news do
if i.format(start('Termim:'),"DD.MM.YYYY")=myPopup then
openRecord(i)
end
end
---
Wenn ich keine Tippfehler gemacht habe, sollt eNinox beim Start die Tabelle mit nicht leeren Folgeterminen durchsuchen und dort, wo der Folgetermin weniger als 60 Tage bis zum heute hat, einen neuen Termin anlegen. Dann wird ein Dialog angezeigt wo die Neu erstellete Audittermine mit datum als Button dargestellt werden. Klickt man auf einen Datumsbutton, kandet man im jeweiligen Datensatz.
Leo
---
-
Hallo Leo,
an den Terminen hängen Porzesse die während der Vorbereitung und Nachbereitung der Termine zu erledigen sind. D.h. es wäre echt nervig, wenn mich die DB ein Jahr "anmeckert", dass ich was zu erledigen habe.
Da die "Maschinerie" rund 2 Monate vor dem Folgetermin anlaufen muss, mach das (zumindest in meinen Überlegungen) Sinn.
Aber ich habe gesehen, dass ich today() - 60 geschrieben habe, der Logik folgend müsste ich hier wohl today()+60 schreiben, damit ich die 60 Tage in die Zukunft gehe.
Ich teste und berichte - Danke!
-
Danke für Deine Mühe - aktuell bleibt das Skript "folgenlos" ;-)
Ich muss später mal in Ruhe schauen, ob ich das nachvollzogen bekomme.
-
Ha, wirklich. Da habe ich auch nicht aufgepast. Dann währe bei mir die erste Zeile:
---
let check:=select Audittermine where Folgetermin and date(start(Folgetermin))<=date(year(today()),month(today()),day(today())+60);---
Leo
-
Läuft mit meinen Testdaten!
Vielen Dank für die Hilfe!
Content aside
- vor 4 JahrenZuletzt aktiv
- 7Antworten
- 860Ansichten