0

Trigger nach Änderung funktioniert nicht

Hallo ich habe eine Untertabelle mit Aufgaben und möchte diese automatisch als erledigt kennzeichnen. 

Dafür habe ich wie ein Quiz die Felder zusammengeführt um auf eine Punktzahl zu kommen.
Jede Aufgabe hat eine Nummerierung zum Auswertfeld in der Akte.
Jetzt habe ich ein Trigger nach angelegt:
Sobald die Zahl erreicht wurde soll der Status sich ändern, ebenfalls zurückändern wenn Daten aus dem Feld gelöscht werden, da die Aufgabe dann unvollständig ist.

if 'anschrift auswertung' = 6 then
    first(Aufgaben[AID = 2].(Status := 3))
else
    if 'anschrift auswertung' != 6 then
        first(Aufgaben[AID = 2].(Status := 1))
    else
        if 'Persönliche Daten auswertung' = 9 then
            first(Aufgaben[AID = 1].(Status := 3))
        else
            if 'Persönliche Daten auswertung' != 9 then
                first(Aufgaben[AID = 1].(Status := 1))
            else
                if HDZc = 1 then
                    first(Aufgaben[AID = 3].(Status := 3))
                else
                    if HDZc != 9 then
                        first(Aufgaben[AID = 3].(Status := 1))
                    else
                        if ausweisc = 1 then
                            first(Aufgaben[AID = 4].(Status := 3))
                        else
                            if ausweisc != 9 then
                                first(Aufgaben[AID = 4].(Status := 1))
                            end
                        end
                    end
                end
            end
        end
    end
end

Da passiert aber leider nichts, weiss jemand was ich falsch mache? 
Freue mich auf Rückmeldungen!

3 Antworten

null
    • Gotje_Ing
    • vor 3 Stunden
    • Gemeldet - anzeigen

    Moin,
    deine If-Abfragen sind sehr verkorkst. 
    Du fragst:
    Wenn x = 6, dann tue A, ansonsten tue B. 
    Es gibt nur A oder B. alles nach Zeile 5 kann NIEMALS erreicht werden, da die Bedingung else nicht erreicht werden kann. 
    Entweder es ist 6 oder nicht.

    Ich glaube, du möchtest entweder mehere if einzeln hintereinander schreiben, oder einen switch case nutzen.
     

      • PD M
      • PD_M
      • vor 3 Stunden
      • Gemeldet - anzeigen

       danke für deine schnelle Rückmeldung.
      mit ; hab ich es auch schon probiert, es klappt nicht. 
      Hast du einen Tipp?

      • PD M
      • PD_M
      • vor 3 Stunden
      • Gemeldet - anzeigen

       switch case hab ich leider noch nicht gemacht...