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
-
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
-
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"
endso ist das kein problem wenn das Geburtsjahr vor 1980 ist. ..... hab keine Ahnung was ich noch versuchen soll. Benutze die Web Version von Ninox
-
kann ich leider für OSX auf MacBook nicht bestätigen:
-
So geht es
-
-
mit 04.08.1979 geht es nicht mehr
-
hier mit Webbrowser:
-
Vielleicht hilft hier:
do as server
Schleifenfunktion
end
-
hab ich auch schon probiert, selbes ergebniss....
Hab ich was falsch gemacht ?? Hab echt keine Ahnung mehr, brauche aber die Funktion
-
teste es doch mal mit einem neuen Berechnungsfeld auf dem Dashboard, ohne Formatierungen etc.
-
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
-
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.
-
Mein noch lange nicht fertiges model ... nicht wundern fehlen noch einige verküpfungen aber die sind je schnell gemacht am ende
-
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.
-
leg doch mal eine neue Test-DB an und probier es dort nochmal.
-
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
-
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?
-
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
-
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
- 1431Ansichten