0

for Schleife gibt kein wert aus

join(for i in select Personal where format(Geburtsdatum, "DD.MM") = format(today(), "DD.MM") do
i.Vorname + " " + i.Name + " " + "ist heute" + " " + age(i.Geburtsdatum) + " " + "Jahr alt geworden"
end, "
")

19 Antworten

null
    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    das läuft wunderbar auf dem Dashboard bis zum Geburtsjahr 1980, sobald man aber älter ist also vor 1980 Geschlüpft ist gibt "i" nichts mehr aus. Kann mir da jemand helfen??

     

    Danke im voraus

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    wenn man den vergleich direkt in der Tabelle gegenprüft mit :  if format(Geburtsdatum, "DD.MM") = format(today(), "DD.MM") then
    Vorname + " " + Name + " " + "ist heute" + " " + age(Geburtsdatum) + " " + "Jahr alt geworden"
    end

    so ist das kein problem wenn das Geburtsjahr vor 1980 ist. ..... hab keine Ahnung was ich noch versuchen soll. Benutze die Web Version von Ninox

    • Tacho
    • vor 4 Jahren
    • Gemeldet - anzeigen

    kann ich leider für OSX auf MacBook nicht bestätigen:

    Bildschirmfoto 2020-08-04 um 14.56.24

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    So geht es

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Bildschirmfoto 2020-08-04 um 15.02.38

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Bildschirmfoto 2020-08-04 um 15.03.06

    mit 04.08.1979 geht es nicht mehr

    • Tacho
    • vor 4 Jahren
    • Gemeldet - anzeigen

    hier mit Webbrowser:

    Bildschirmfoto 2020-08-04 um 15.15.40

    • UweG
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielleicht hilft hier:

    do as server

    Schleifenfunktion

    end

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    hab ich auch schon probiert, selbes ergebniss....

    Hab ich was falsch gemacht ?? Hab echt keine Ahnung mehr, brauche aber die Funktion

    • Tacho
    • vor 4 Jahren
    • Gemeldet - anzeigen

    teste es doch mal mit einem neuen Berechnungsfeld auf dem Dashboard, ohne Formatierungen etc.

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    hab ich auch schon. selbst wenn man das in der tabelle direkt testet, geht es nur bis zum jahr 1980. alles was darunter liegt verweigert seinen dienst. (Geburtstag ist ein ganz normales Datumsfeld und die ausgabe ist ein berechnungsfeld) mit "if - then" läuft das, nur hilft mir das ja nicht für das Dashboard

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    was mir nicht einleuchtet ist ja das die "for" schleife läuft, also alles tut was sie soll. nur ab dem Jahr nicht mehr, was aber eigentlich gar keine bedeutung hat durch "format(Geburtstag, "DD.MM")" 

    heist ja das das Jahr gar nicht verglichen wird.

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Bildschirmfoto 2020-08-04 um 16.58.43

    Mein noch lange nicht fertiges model ... nicht wundern fehlen noch einige verküpfungen aber die sind je schnell gemacht am ende

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Leonid Semik hat doch immer tolle einfälle und verdammt viel wissen über Ninox, villeicht kann er helfen. PS. den Variablennamen hab ich auch schon geändert. 

    • Tacho
    • vor 4 Jahren
    • Gemeldet - anzeigen

    leg doch mal eine neue Test-DB an und probier es dort nochmal.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen, ich würde es so probieren:

    ---

    join(for i in select Personal [day(Geburtsdatum)=day(today()) and month(Geburtsdatum)=month(today())] do
    i.(Vorname + " " + Name + " " + "ist heute" + " " + age(Geburtsdatum) + " " + "Jahre alt geworden")
    end, "
    ")

    ---

    Leo

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke für die lösung des problems Leonid Semik. So läuft das.

    Warum oder besser wo lag denn mein fehler? an der ausgabe von der variablen oder weil ich den vergleich über format geführt hab?

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hauptsächlich lag es an where-Bedingung. Bei select TABELLE where..... filtert Ninox die Tabelle direkt am Server. Der Server hat aber andere Zeitzone als Client und es kommt irgendwann zur Diskrepanz bezüglich Zeitzonen und Sommerzeiten. Wenn man statt where die Eckklammern einsetzt wird die Tabelle erst vom Server nach Client gebracht und erst dann gefiltert, dabei gelten die Client-Zeitangaben. Du kannst ausprobieren ob es mit Format auch funktionieren wird - ich mag nur die Zahlen mehr als Texte. Und die Variablenausgabe ist hier irrelevant. Ich versuche nur so wenig wie möglich zu schreiben.

    Leo

    • Michi.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Leo,

    Kannst du eventuell mal über den Forum Beitrag schauen. Währe ganz toll.

    : "Urlaubsangabe (von - bis) nach beinhalteten Kalenderwochen filtern um alle Mitarbeiter anzuzeigen welche in KW 01 Urlaub haben" 

    Ich weiß das gehört hier eigentlich nicht rein. Sorry

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 19Antworten
  • 1429Ansichten