0

Erstellen und Anzeigen eines Statusfelds abhängig von Angaben in Datumsfeldern

Liebe Leute, folgende Frage:
Es geht um eine Datenbank, die u. a. den Status eines Prozesses controllen soll.
Dazu wäre ein Feld hilfreich, das zum einen den Status anzeigt und mit dem zugleich Ansichten gesteuert werden können.

Ich hoffe, dier Anfrage ist nicht zu umfangreich. Sollte sie schon einmal ähnlich behandelt worden sein, wäre ein Link gut, ich habe allerdings nichts ähnliches gefunden.

Es würde sich wohl um eine Funktion handeln, die auf folgende Datumsfelder zurückgreift:

"Eingang per Mail" /

"Eingang per Post" /

"Rücksprache" /

"Formal okay" / 

"Inhaltlich okay"

Die Ausgaben wären folgende:

Nichts, wenn in keinem der gennannten Felder Daten eingetragen sind.

Wenn in "Eingang per Mail" ein Datum steht, soll ausgegeben werden: "Liegt per Mail vor".

Wenn in "Eingang per Post" ein Datum steht, soll ausgegeben werden: "Liegt per Post vor", unabhängig davon, ob in "Eingang per Mail ein Datum steht oder nicht.

"Rücksprache" ist eine verknüpfte Tabelle. Die beiden wichtigen Felder hier sind: "Datum" (Datum, an dem eine Rückfrage gestellt wurde und "Erledigt" (Datum, an dem die Rückfrage positiv erledigt ist).

Hier wäre folgendes erwünscht:

Wenn im Feld "Datum" ein Datum steht, soll ausgegeben werden: »In Bearbeitung". Unabhängig davon, ob in den beiden oben genannten Feldern Daten stehen oder nicht. Schön wäre orange als Hintergrundfarbe …

Für die Ausgabe: "Fertig zur Abgabe" (grüner Hintergrund) sind drei Bedingungen nötig:

Für alle mit der Tabelle "Rücksprachen" verknüpften Datensätze muss im Feld "Erledigt" ein Datum stehen UND

im Feld "Formal okay" UND im Feld "Inhaltlich okay" müssen ebenfalls Datumsswerte eingetragen sein. In diesem Fall ist es unerheblich, ob in den Feldern "Eingang per Mail" und "Eingang per Post" Daten eingetragen sind oder nicht.

Wie gesagt, ich hoffe, die Frage ist nicht zu umfangreich. Über Anregungen würde ich mich freuen!

Danke und schöne Grüße

ali

4 Antworten

null
    • Team Lead Customer Service
    • joerg
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Ali, 

    man kann diese Prüfungen und Ausgaben prinzipiell gut mit einem Formelfeld erreichen. 

    Deine erste Bedingung könnte dann so aussehen: 

     

    if 'Eingang per Post' then "Liegt per Post vor"

    else

    if 'Eingang per Mail' then "Liegt per Mail vor" 

    else 

    "Liegt nicht vor"

    end

     

    So kannst du die verschiedenen Bedingungen kombinieren. 

    Wenn du farbige Hintergründe möchtest, kannst du für die Ausgaben die styled()-Funktion nutzen: 

     

    styled("In Bearbeitung", "orange", "")

    Dann müssen aber alle deine Ausgaben einem zusammenhängenden "if  - then - else " statement in der Form dargestellt werden.

     

    Gruß, Jörg

    • Ali
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Lieber Jörg, auch wenn der Dank spät kommt, er kommt von Herzen.
    Das Komische ist, dass die if-Kaskade nur in dieser Form funktioniert:

    if 'Eingang per Mail' and 'Eingang per Post' then
    "liegt per Mail und Post vor"
    else
    if 'Eingang per Mail' then
    "Liegt per Mail vor"
    else
    if 'Eingang per Post' then "Liegt per Post vor"
    else "Liegt nicht vor" end
    end
    end

    Wenn ich die Zeile 

    if 'Eingang per Mail' and 'Eingang per Post' then
    "liegt per Mail und Post vor"

    nicht als erste schreibe, liefert Ninox andere Ergebnisse.

    Heißt das, dass an grndsätzlich erst die komplexere Bedingungh abfragen muss?

    Schöne Grüße

    ali

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Ali, die Reihenfolge ist eine Frage der Logik. Wenn sowohl A als auch B zutreffen, dann treffen A und B jeweils auch alleine zu. Fragt man also erst nur auf A oder B ab, dann wird die entsprechende Aktion ausgelöst und die Abfrage beendet. 

    • Ali
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ah, ja, oky, ich denke, das hjabe ich verstanden …
    Dankeschön!

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 4Antworten
  • 1116Ansichten