Text- und Datumsfunktionen
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
-
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é -
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 -
Hallo Birger,
was für Tags muss ich hier in Forum benutzen um den Code fehlerfrei (wie in deinem Beispiel) darzustellen
Grüße
Leo -
< code > < / code >
-
Hallo Leo,
Danke für deine Unterstützung.
Leider funktioniert die Formel nicht.
Beste Grüße
André -
Hallo Andre,
hier ist die Datenbank:
https://www.dropbox.com/s/lua1ed9tcqky7th/Andre.ninox?dl=0
grüße
Leo -
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é -
Dankeschön!
-
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! -
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 -
Hallo Alex,
Einfach im Text auf ENTER Taste klicken
Grüße
Leo -
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? -
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:"). -
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 -
Da ist augenscheinlich nur die Klammer falsch gesetzt. Versuch's mal so:
if number(year(today()) - year(Geburtstag)) > 75 then "Ja" else "Nein" end -
Es gibt bei Ninox ein Befehl "age". Dann wäre deine Formel:
if age(Todestag) > 75 then "Ja" else "Nein" end
Grüße
Leo -
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??
-
Die Formel lautet:
–––
'Abreisedatum' - 'Ankunftsdatum'
–––
Birger - Ninox Support -
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. -
–––
date(2018,12,31) - 'Ankunftsdatum'
–––
:-) Birger -
Das sieht sooo einfach aus.. man muss nur draufkommen!!!! Danke
-
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?
-
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
-
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
-
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 6 JahrenZuletzt aktiv
- 254Antworten
- 72855Ansichten