0

Löschen von Terminen wenn Ferien

Ich habe eine Tabelle namens Einzeltermine1 und eine Tabelle namens Ferientage. Nun möchte ich alle Einzeltermine für die Tage löschen an denen ein Ferientag ist. Das ganze ab einem bestimmten Termin. 
Kann mir da wer nen Tip geben?
Gruß Uwe

4 Antworten

null
    • ⭐ Ninox Partnerin - Kennes Digital
    • Stefanie_K
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo  ,

    Du brauchst irgendwo ein Feld "Datum ab". Dort kannst du auch einen Button einbauen "Feiertage entfernen". Und dann lässt du über diesen Button eine Schleife laufen. Je nachdem, wie du deine Datumsangaben in Ninox hinterlegt hast, musst du dir den Code noch anpassen:

    let my := this;
    let xQuelle := (select Ferientage where Datum > my.'Datum ab');
    do as server
        for i in xQuelle do
            let x := first(select Einzeltermine1 where Datum = i.Datum);
            if x then delete x end
        end
    end
    
      • Siskokeys
      • vor 1 Jahr
      • Gemeldet - anzeigen

        Zuerst mal vielen Dank.
      Das Script funktioniert jedoch nicht vollständig. Es werden bei jedem Drücken des Buttons Termine gelöscht jedoch nicht alle. Nach ca. 10 mal drücken sind dann alle weg.
       

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi. Versuche es mal so. Zeile 1. benötigt noch Dein Startdatum, oder das Datumfeld. Tipp. Bei Scripten die "delete" enthalten mach ruhig mal vorher ein backup;-). Mirko

    let start := date(2023, 9, 16);
    let holiday := (select Feiertage).Datum;
    for i in (select TABELLE)[Datum > start] do
        if contains(holiday, i.Datum) then
            delete i
        end
    end
    
      • Siskokeys
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Das funktioniert wunderbar. Vielen lieben Dank!!