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
    • ralfduggen
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Danke erstmal - bevor ich's ausprobiere noch ne Rückfrage:
    Aktuell kann ich das "Spiegelfeld" ja gar nicht auswählen (Cursor erscheint einfach nicht), kann hier nichts verändern. Geht das nach deinem Skript ?
    Mir ist auch klar, dass das Originalfeld und das Spiegelfeld immer identisch sind.
    Derzeit ist die Eingabe halt nur im Originalfeld möglich, nicht im Spiegelfeld.
    • ralfduggen
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Moin,

    ich hab grad mal mit deinem Skript rumprobiert.
    Da hab ich gemerkt, dass ich wahrscheinlich das Spiegelfeld anders angelegt hab als Du: nämlich als Funktionsfeld mit dem Skript "Mitarbeiter.Handy"
    Ganz banal.

    Nur bevor wir aneinander vorbeireden.

    Gruß

    Ralf
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Ralf,
    In meinem Fall ist das Feld nicht als Funktion sondern als Textfeld angelegt.
    Die Funktionsfelder kann man nicht manuell verändern.
    Leo
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Und noch was, wenn du den Textfeld in der bestehenden Tabelle nachträglich erstellst, werden die Spiegeldaten nicht automatisch gespiegelt. Diese kann man über Massendatenänderung durch Funktion
    Mitarbeiter.Handy nachpflegen.
    Leo
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Guten Tag,
    ich möchte in einem Text die Umlauten durch Doppelbuchstaben automatisch ersetzen. Z.B. Statt Müller - Mueller und statt Schäfer - Schaefer. Gibt es eine elegante Möglichkeit?

    Grüß
    Leo
    • Morris_Hanson
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Leo!

    ich würde es so machen:

    if contains(Text, "ö") then
    replace(Text, "ö", "oe")
    else
    if contains(Text, "ä") then
    replace(Text, "ä", "ae")
    else
    if contains(Text, "ü") then
    replace(Text, "ü", "ue")
    else
    Text

    Lg Rene
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Rene,
    vielen Dank - habe die "replace" Funktion in der Anleitung übersehen. Große Klasse, funktioniert sogar ohne "if then else". Die geänderten Namen brauche ich für einen Web-Link - dort werden die "üäö" falsch interpretiert. Habe jetzt extra berechnete Felder mit Formel:

    let NN := Nachnahme;
    let NN := replace(NN, "ö", "oe");
    let NN := replace(NN, "ä", "ae");
    let NN := replace(NN, "ü", "ue");
    NN

    Grüße
    Leo
    • Steinbeisser
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo

    ich möchte in einem Feld den Zeitpunkt der letzten Änderung setzen lassen. D.h. sobald man etwas in einem beliebigen Feld eines Datensatzes ändert, soll der aktuelle Zeitpunkt gesetzt werden. Bei einem neuen Datensatz soll einfach die aktuelle Zeit genommen werden.

    Vielen Dank!
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo, das geht mit Trägern auf Tabellen Ebene, die bei Ändern oder Erstellen ausgelöst werden und die aktuelle Zeit in das jeweilige Feld eintragen:

    Feld := now()

    Im Formel Editor gibt es Jetzt bzw. Heute für die aktuelle Zeit.

    VG, Alex
    • Steinbeisser
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Danke, mit dem Trigger hat es genau so funktioniert!
    (Die blöde Auto-Korrektur hat bei mir auch aus dem Trigger auch einen Träger gemacht)

    Übrigens: Super Datenbank! Endlich die Lösung für meine Datensammlungen.

    VG
    • Martin_Sundermann
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ich komme an einer Stelle nicht weiter: ich möchte eine Altersberechnung machen, die sich nicht auf das aktuelle Datum (heute) bezieht, sondern auf ein vorgegebenes, festes Datum. Anwendung: ich mache für unsere Gemeinde eine Liste der Verstorbenen. Ich habe als Daten: Geburtsdatum und Sterbedatum.
    Wenn ich die Funktion "Alter" benutze, wird das Alter immer tagesaktuell berechnet. Ich brauche aber das Alter zum Zeitpunkt des Versterbens.
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo, man kann es mit einer Formel berechnen.
    Hierzu zuerst die beiden Daten subtrahieren und eine Zahl umwandeln. Jetzt wird die Differenz in Millisekunden angegeben. Die Millisekunden wandeln wir dann in Jahre um und runden ab:

    floor(number('Date 2' - Date) / 31536000000)

    VG, Alex
    • Martin_Sundermann
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Genial!
    Danke, und fröhliche Weihnachten!
    Martin
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Alex,
    Hallo Martin,
    die Formel berechnet aber nur die vollen Jahre, unabhängig von dem Datum. Das heißt, wenn jemand am 23.12.1946 geboren wurde und am 22.12.2016 stirbt (eigentlich noch mit 69) zeigt die Formel 70 Jahre. Um die Jahre anzupassen würde ich vorschlagen:

    let AA := year(Todestag) - year(Geburtstag);
    if month(Todestag) > month(Geburtstag) then
    AA
    else
    if month(Todestag) = day(Geburtstag) then
    AA
    else
    AA - 1

    Grüße
    Leo
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Irgendwie schneidet Wordpress die Formel, ich vermute, dass die "größer" und "kleiner" Zeichen als Tags interpretiert werden.
    hier die Datenbank
    https://www.dropbox.com/s/yv9g7fn29fk5e3m/Alter.ninox?dl=0

    Leo
    • lobitano
    • vor 7 Jahren
    • Gemeldet - anzeigen
    kann es sein, daß die Funktion yearquarter nicht richtig funktioniert? es werden statt der Quartale die MONATE
    • lobitano
    • vor 7 Jahren
    • Gemeldet - anzeigen
    kann es sein, daß die Funktion quartal bzw. yearquarter nicht richtig funktioniert?

    es werden statt der Quartale die MONATE aufgelistet....
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Die Funktion heißt
    yearquater('Datumsfeld')
    Da hatte sich der Tippfehler-Teufel eingeschlichen. Ab Version 2.0 wird es korrekt heißen:
    –––
    yearquarter('Datumsfeld')
    –––
    Gruß
    Birger - Ninox Support
    • lobitano
    • vor 7 Jahren
    • Gemeldet - anzeigen
    ich meine nicht die falsche Schreibweise sondern die Tatsache, daß die Funktion als solche die falschen Werte berechnet:
    Es werden nicht die QUARTALE ausgegeben, sondern die Monate, also z. B. 2017 Q1 für Daten aus Januar, 2017 Q2 für Daten aus Februar usw.
    Eben leider NICHT die vier Quartale???
    oder hab ich was übersehen?

    Gruss
    Lutz
    • lobitano
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ergänzung: es scheint bei dem Feldtyp "Datum + Uhrzeit" nicht richtig zu funktionieren...
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ja, das kann ich nachvollziehen. Die Funktion "yearquater()" funktioniert nicht richtig, wenn Sie auf "Datum + Uhrzeit"-Felder angewendet wird. Bitte behelfen Sie sich so:
    –––
    yearquater(date('Date / Time'))
    –––
    Wir werden den Fehler beheben.

    Gruß
    Birger - Ninox Support
    • klman
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Guten Tag,
    wahrscheinlich verstehe ich das Ninox-Berechnungssystem nicht.

    Ich möchte die Anzahl Tage zwischen zwei Daten berechnen lassen. Mache ich das über die Termin-Funktion und "Dauer", wie im Manual angedeutet? Tappe immer in die Logik Falle...

    Könnte mir bitte jemand eine Beispiel-Funktion aufzeigen, die mir die Anzahl Tage berechnet.

    Wieviel Kalender-Tage sind zwischen 01.03.2017- 30.04.2017?

    Da wäre ich sehr dankbar

    Mit freundlichem Gruß
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Die Formel lautet:
    –––
    days('First Date, 'Second Date')
    –––

    und liefert für die Werte oben die Zahl "60" zurück.
    Gruß
    Birger - Ninox Support
    • steffiscloud
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    gibt es irgendwie die Möglichkeiten :

    a) eine URL direkt auszuführen innerhalb eines Triggers

    b) ein Textfeld als Hyperlink zu generieren.

    Hindergrund ist, dass ich gern x-callback-URL in meinen anderen Programmen von Ninox übergeben möchte. Derzeit geht es mit dem URL Feld; jedoch muss dieses erst angeklickt werden, nachdem ich die URL mit einem Trigger übergeben habe.

    vielen Dank und schönes Wochenende.

    Viele Grüße,

    Steffi
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    derzeit ist es noch nicht möglich per Script den Aufruf einer URL bzw. den Klick auf ein URL-Feld auszulösen.
    Dies ist Teil unserer Anfroderungsliste und wir werden es in einem kommenden Update realisieren.

    Birger - Ninox Support