Terminserie an bestimmten Wochentagen
Ich versuche mich seit einiger Zeit diese Aufgabe zu lösen.
Leider reichen meine Programmierkenntnisse nicht aus.
Kann mir jemand behilflich sein.
Ich möchte für einen gewissen Zeitraum z.B. vom 01.10. bis zum 31.10 Termine mit gleichem
Zeitfenster automatisiert im voraus anlegen.
Dies sollte nach Vorwahl der einzelnen Wochentage und Eingabe eines Enddatum geschehen.
Ich bedanke mich schon mal im Voraus
12 Antworten
-
Hi, Michael. Sind die Wochentage Ja/Nein-Felder?
-
Hallo Mirko,
ich dachte man könnte es in dieser Form lösen. -
Das geht auch damit, ich hätte nur ein Mehrfachauswahlfeld benutzt. Ansichtssache. Ich schicke Dir am Nachmittag eine Beispiel-DB für Deinen Fall. Muß erst noch etwas erledigen.
-
Mirko,
habe auch ein Mehrfachauswahlfeld eingesetzt. Wie es für dich einfacher ist.
-
Hi, Michael. Ich nehme an, dass Du die Terminserie in die Tabelle Arbeiten schreiben willst. Sicher mußt Du hier noch Code anpassen, wenn andere Feldinhalte übertragen werden sollen. Aber die DB kann Dir als Vorlage dienen für Deinen eigenen Code. Mirko
-
Hallo Mirko,
Danke für die schnelle Hilfe.
Tatsächlich schreibe ich die Daten in die Tabelle Termine!
Deinen Code kann ich auch soweit anpassen- alles kein Problem.
Aber es fehlen mir dann die "Zeit von" und die "Zeit bis".
Das Datum(Tag soll sich ändern), Zeiten bleiben wie sie sind.
Die Felder "Auswahl" und "Kontakt" sollen genau übernommen werden.
Vielleicht hast Du noch eine Idee.
Besten Dank nochmal. -
In welcher Tabelle liegt denn der Button? Soll denn ein Terminfeld beschrieben werden, oder sind es ein Datumfeld und zwei Uhrzeitenfelder? Bisher dachte ich du schreibst aus einer Tabelle in eine andere. Oder liegt der Button in der gleichen Tabelle, die er auch beschreiben soll?
-
Was solls. Hier eine Tabelle für beide Versionen.
-
Hallo Mirko,
dieser Code passt:
let me := this;
let von := time(start(me.Termin));
let bis := time(endof(me.Termin));
let dayRange := range(number(date(start(me.Termin))), number(me.'Ende Serie') + 86400000, 86400000);
let weekdayRange := numbers(Wochentage);
if Terminserie then
for i in dayRange do
if contains(weekdayRange, weekday(date(i)) + 1) then
(create Termine).(
Auswahl := me.Auswahl;
Termin := appointment(datetime(i, von), datetime(i, bis));
Kontakt := me.Kontakt
)
end
end
endHabe getestet und alles funktioniert.
Ich bedanke mich bei dir recht herzlich. Du hast mir unheimlich geholfen. -
Hallo Mirko,
ich habe doch noch etwas entdeckt. Kann ich aber mit leben!
Termin am 01.11.2024........... (Freitag) als erster Termin angelegt.Wähle ich nun einen "Freitag" in "Wochentage" für eine Terminserie an, ist der Datensatz am "Freitag" doppelt.
Nochmals besten Dank.
-
Ändere Zeile 4:
let dayRange := range(number(date(start(me.Termin)) + 1), number(me.'Ende Serie') + 86400000, 86400000);
-
Funktioniert einwandfrei
Content aside
- vor 1 MonatZuletzt aktiv
- 12Antworten
- 70Ansichten
-
2
Folge bereits