0

Text- und Datumsfunktionen

Hallo,
ich habe lange gesucht um eine einfach zu konfigurierende Datenbank zu finden. Super Arbeit.
Ich bräuchte jedoch noch eine Wochenauswertung (Gruppierung) Jahr/Woche(Datum) wäre das möglich noch zu ergänzen?
Besten Dank
MfG
Jens

254 Antworten

null
    • Andre_Koppen
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Zusammen,

    ich bräuchte Hilfe bei einer Formel.

    Ich möchte mit einer Formel "wenn/dann/sonst" die Ausgabe grün bzw. rot erhalten.

    Geprüft werden soll, ob die Zeit zwischen dem aktuellem Datum und dem hinterlegtem Ablauftermin - kleiner als 140 Tage - Ergebnis rot bzw. größer als 140 Tage - Ergebnis grün

    Meine Formel funktioniert leider nicht.

    if (number(now()) - number(Ablauf)) / (24 * 60 * 60 * 1000) > 140 then
    color("red")
    else
    color("green")
    end

    Besten Dank André
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Andre,

    als Formel in einem BERECHNUNGSFELD
    ---
    styled(text(days(Ablauf, today())) + " Tage", if days(Ablauf, today()) < 140 then "red" else "green" end, "", "")
    ---
    Grüße
    Leo
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Birger,
    was für Tags muss ich hier in Forum benutzen um den Code fehlerfrei (wie in deinem Beispiel) darzustellen

    Grüße
    Leo
    • Alexander_Koenig
    • vor 6 Jahren
    • Gemeldet - anzeigen
    < code > < / code >
    • Andre_Koppen
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    Danke für deine Unterstützung.

    Leider funktioniert die Formel nicht.

    Beste Grüße
    André
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Andre,
    hier ist die Datenbank:

    https://www.dropbox.com/s/lua1ed9tcqky7th/Andre.ninox?dl=0

    grüße
    Leo
    • Andre_Koppen
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    Danke für deine Unterstützung.

    Ich habe es so umgesetzt:

    let DUR := days(today(), Ablauf);
    styled(text(DUR) + " Tage", if DUR > 160 then
    color("green")
    else
    if DUR < 135 then color("red") else color("yellow") end
    end)

    Beste Grüße
    André
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Dankeschön!
    • Alexander_Hanisch
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leute,

    ich bräuchte für diverse Anwendungen in der Ninox DB eine Möglichkeit, innerhalb eines Textstrings für die Ausgabe in den Druckdokumenten und im eMail Body von Ninox einen Zeilenumbruch (CR) zu erzwingen.

    Hat da jemand von euch einen Lösungsvorschlag?

    Danke schon mal vorweg!
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Wenn das hilft:
    Bei der Texteingabe an der Stelle des Zeilenumbruchs zwei "" und zwischen den ""
    "Return" drücken. An dieser Stelle entsteht ein CR.
    Also TextText"
    "TextText
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Alex,

    Einfach im Text auf ENTER Taste klicken

    Grüße
    Leo
    • Frank_Dressler
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Ich habe ein Feld Typ "Datum + Uhrzeit" (Termin1) und möchte eine Formel die mir einen daraus berechneten Wert nach dem Schema Termin1+30 Minuten erzeugt und ausgibt.
    Wie muss die Formel aussehen?
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo, da die zu berechnende Dauer ja wahrscheinlich nicht immer und ewig 30 Minuten beträgt, wäre die einfachste Lösung wohl, ein zusätzliches Feld vom Typ Zeitdauer anzulegen (Zahlenformat 61:16) und evtl. als Standardwert 0:30 vorzugeben. Dann wäre die Formel ganz einfach (als Funktion im Berechnungsfeld "Terminende"):

    Terminstart + Zeitdauer

    Oder, wenn die Termine immer innerhalb eines Tages statfinden und für "Terminende" nur die Uhrzeit angezeigt werden soll:

    time(Terminstart + Zeitdauer)

    Wenn das Feld 'Zeitdauer' nicht angezeigt und nicht verändert werden soll, dann kann man es einfach ausblenden ("false" bei "Nur anzeigen, wenn:").
    • Aurivox
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo, ich möchte die Differenz des Todesjahres einer Person mit dem aktuellen Jahr bilden. Wenn die Differenz größer als 75 ist, soll ein "Ja" ausgegeben werden ansonsten ein "Nein". Mit dem nachstehenden Code wird nur "Ja" ausgegeben

    if number(year(today() - year(Todestag))) > 75 then
    "ja"
    else
    "nein"
    end
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Da ist augenscheinlich nur die Klammer falsch gesetzt. Versuch's mal so:

    if number(year(today()) - year(Geburtstag)) > 75 then "Ja" else "Nein" end
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Es gibt bei Ninox ein Befehl "age". Dann wäre deine Formel:

    if age(Todestag) > 75 then "Ja" else "Nein" end


    Grüße
    Leo
    • Geriatric
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Ich habe eine Frage... In meiner Datenbank habe ich eine Tabelle mit mit den Datenfeldern: 'Ankunftsdatum' und 'Abreisedatum'. Nach Eingabe des Abreisedatum möchte ich gern berechnen, wieviele Tage bis zu einem frei wählbaren Datum in der Zukunft übrig sind. Wie kann ich das umsetzen??
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Die Formel lautet:
    –––
    'Abreisedatum' - 'Ankunftsdatum'
    –––


    Birger - Ninox Support
    • Geriatric
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Birger! Danke für die Antwort. Ich habe mich leider falsch ausgedrückt.
    Ich möchte gern mit mit dem Wert 'Abreisedatum' berechnen, wieviel Tage bis zum 31.12.2018 übrig sind.
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    –––
    date(2018,12,31) - 'Ankunftsdatum'
    –––


    :-) Birger
    • Geriatric
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Das sieht sooo einfach aus.. man muss nur draufkommen!!!! Danke
    • manfredtheis
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ich möchte den Inhalt eines Datumfeldes (Tag) bei Anlage eines neuen Records um 1 Tag erhöhen.

    let A := max((select Logbuch).Tag);
    let B := date(year(A), month(A), day(A) + 1);
    Testfeld := format(B, "DD.MM.YYYY")

    funktioniert prima mit einem beliebigen text-Feld (hier: Testfeld). Wenn ich allerdings das ursprüngliche Datumsfeld überschreiben will mit

    let A := max((select Logbuch).Tag);
    let B := date(year(A), month(A), day(A) + 1);
    Tag := format(B, "DD.MM.YYYY")

    ändert der Editor meinen Code ab zu

    let A := max((select Logbuch).Tag);
    let B := date(year(A), month(A), day(A) + 1);
    A := format(B, "DD.MM.YYYY")

    Man beachte das A in der 3. Zeile(!) und liefert die Fehlermeldung 

    Die Ausdrücke für dann und sonst liefern unterschiedliche Datentypen zurück in Zeile 3 Spalte 28.

    Kann mir jemand helfen?

    • Support
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Wie das A in die dritte Zeile kommt, weiß ich auch nicht. Die Fehlermeldung aber kann ich erklären: In der ersten Zeile wir a als Datumfeld deklatriert, die dritte Zeilen versucht dem Datumsfeld einen String zuzuweisen. Dies ist nicht möglich.

    Birger

    • manfredtheis
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Birger,

    vielen Dank für deine schnelle Antwort, die mich bzgl. der Datentypen auf den Lösungsweg gebracht hat. Das Hauptproblem war aber der Variablenname A. Diesen habe ich gegen A1 ausgetauscht und jetzt läuft das folgende Skript:

    let A1 := max((select Logbuch).Tag);
    Tag := date(year(A1), month(A1), day(A1) + 1)

    Sind einstellige Variablennamen vielleicht nicht erlaubt?

    Beste Grüße, Manfred

    • manfredtheis
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Birger,

    vielen Dank für deine schnelle Antwort, die mich bzgl. der Datentypen auf den Lösungsweg gebracht hat. Das Hauptproblem war aber der Variablenname A. Diesen habe ich gegen A1 ausgetauscht und jetzt läuft das folgende Skript:

    let A1 := max((select Logbuch).Tag);
    Tag := date(year(A1), month(A1), day(A1) + 1)

    Sind einstellige Variablennamen vielleicht nicht erlaubt?

    Beste Grüße, Manfred

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 254Antworten
  • 72691Ansichten