0

In einer Ansicht nur zukünftige Termine anzeigen lassen

Moin!

unser gemeinnütziger Verein Joven Esperanza e.V. verwendet eine eigene Ninoxdatenbank zusammen mit unserem Partnerprojekt- einem Bildungsprojekt in Bolivien. Wir koordinieren hier unteranderem unsere Zusammenarbeit, Projekte, Aufgaben, Termine usw..

Ich suche nach einer Lösung, um in einer Anzeige nur Termine anzeigen zu lassen, die in der Zukunft liegen.

 

Außerdem möchte ich ein Dahboard erstellen mit Ansichten, die nur Aufgaben und Termine in einem auzuwählenden Monat anzeigen.
Am liebsten hätte ich eine Kalenderansicht, das scheint aber schwierig zu sein, da wir deutlich mehr "Mitarbeiter" haben, als Ninox-Lizenzen und man in dem Ninox-Kalender nicht nach anderen Auswahlkriterien filtern kann.

Eine zweite Ansicht soll dann vergangene Termine bzw. deren Protokolle anzeigen. 

 

Vielen Dank für eure Hilfe!

4 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ist der "Termin" ein Feld vom Typ Termin (von/bis), ein Zeitstempel (Datum + Uhrzeit) oder einfach nur ein Datum? Wenn ich von letzterem ausgehe, dann könnte der Code für eine Ansicht folgendermaßen aussehen:

    select TABELLE where date(DATUM) >= date(today())
    

    Damit würden nur Datensätze angezeigt, deren Datum gleich oder größer ist als das heutige. Will man nur vergangene Termine sehen, nimmt man statt größer (>) halt kleiner (<).

    Um die Ansicht auf einen bestimmten Monat zu filtern, könnte man die entsprechende Zahl (z. B. 3 für März) in ein Feld eintragen (im Code MONAT genannt) und die Abfrage dann so formulieren:

    let myM := MONAT;
    select TABELLE where month(DATUM) = myM
    

    Allerdings wäre dabei das Jahr nicht berücksichtigt, es würden also alle Datensätze angezeigt, deren Datum bspw. in einem März liegt. Will man die Kombination von Monat und Jahr abfragen (z. B. "2023/03"), kann man dazu die Funktion yearmonth() nutzen.

    • Julius
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Erneut vielen Dank für deine Hilfe!
    Es handelt sich um einen Termin (von/bis).  So klappt schon wieder irgendwas nicht:

    select ''Protokolle der Arbeitsgruppe'.'Protokolle Joven Esperanza'' where date('Datum und Uhrzeit') >= date(today)
    
      • Torsten_Stang.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Julius 

      select ''Protokolle der Arbeitsgruppe'.'Protokolle Joven Esperanza'' where date('Datum und Uhrzeit') >= date(today())

      wenn 'Datum und Uhrzeit' ein Terminfeld ist, wirst Du Dich evtl. mit start('Datum und Uhrzeit') oder endof('Datum und Uhrzeit') für den Beginn oder das Ende des Termins entscheiden müssen...

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Julius 

      Wie Torsten schon sagte: Terminfelder bestehen immer aus zwei Werten vom Typ 'Datum + Uhrzeit'. Man muss sich also entscheiden, welchen man abfragt. Den Startzeitpunkt bekommt man mit start(TERMINFELD), das Ende mit endof(TERMINFELD). Wenn Start- und Endzeitpunkt am selben Tag liegen, ist es natürlich egal, welchen von beiden man abfragt. Da es hier aber um Termine geht, die in der Zukunft liegen, also noch nicht begonnen haben, dürfte start() die sinnvollere Wahl sein:

      select TABELLE where date(start(TERMINFELD)) >= date(today())
      

      Bei der Suche nach solchen Funktionen kann auch die Ninox-Doku helfen:
      https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen-nach-kategorien

Content aside

  • vor 1 JahrZuletzt aktiv
  • 4Antworten
  • 70Ansichten
  • 3 Folge bereits