Berechnen der tatsächlich verstrichenen Tage in Filemaker?

1261
elhombre

Wie können Sie Filemaker dazu bringen, die tatsächlich verstrichenen Tage ab einem bestimmten Datum, das in einem Feld in einem Layout gespeichert ist, immer separat anzuzeigen?

Beispiel

Ich gebe das heutige Datum in die Datenbank ein. Wenn ich mir heute meine Ansicht anschaue, sollte es ein separates Textfeld geben, das 0 Tage sagt. In einer Woche sollte dieses Textfeld 7 Tage enthalten.

2
Hast du das schon mal probiert ??? Ecnerwal vor 9 Jahren 0

2 Antworten auf die Frage

0
Ecnerwal

Feld StoredDate

Separates Feld AbgelaufeneTage

(Text? Warum möchten Sie, dass eine Zahl ein Text ist? Die Konvertierung bleibt dem Schüler als Übung überlassen, wenn der Schüler das wirklich will. Es ist leicht zu finden ...)

ElapsedDays, Typ ist Berechnung, Schaltfläche [Optionen] Get (CurrentDate) - StoredDate

Schaltfläche [Speicheroptionen] Aktivieren Sie Berechnen Sie keine Berechnungsergebnisse - berechnen Sie sie bei Bedarf neu

Wenn Sie die Speicheroptionen nicht ändern, werden sie beim Erstellen ausgeführt und ändern sich nicht. Dies ist die Schlüsseleinstellung, damit sich das aktuelle Datum ändert.

Wenn Sie aus irgendeinem bizarren Grund wirklich den unveränderlichen Text "Tage" im Feld sowie die Anzahl speichern möchten, kann dies auch in der Berechnung durchgeführt werden. Dies macht es nur langweiliger.

GetAsText (Get (CurrentDate) - StoredDate) & "Tage"

Also, 480 Tage später, nicht einmal eine positive Nachricht? Ich weiß, es ist 480 Tage her, seit ich geantwortet habe, weil es funktioniert und ich immer noch die Test-DB habe, die ich zusammengeschmissen habe, um es zu testen ...

0
bjbk

Natürlich gibt es viele Möglichkeiten, dies zu erreichen. Dies hängt von Ihrer Lösung ab und davon, wie die Berechnung in Ihrem Layout angezeigt werden soll.

Mit FileMaker 14 kann dies ohne Verwendung einer nicht gespeicherten Berechnung in Ihrer Datentabelle durchgeführt werden. Sie können die Vorteile von Filemaker nehmen Berechnungs - Engine auf der Anlage mit Hilfe der direkt ausgeblendet Wenn die Berechnung auf einem einfachen Textobjekt. Hierfür könnte auch eine Schaltfläche verwendet werden.

Angenommen, Sie haben ein Datum in einem Feld gespeichert. In diesem Beispiel nennen wir es Table :: myDate. Dabei Tablesteht Ihr Tabellenname und myDateIhr Datumsfeld mit dem gespeicherten Datum.

Layout

  • Auf Ihrem gewünschten Layout gehen Sie in den Layout-Modus. ( + L ODER control+ Lunter Windows)
  • Fügen Sie ein neues Textobjekt und geben Sie eine in Merge Variable (Merge Variablen kann entweder vor Ort oder globalen Umfang. Sie können eine lokale Variable in diesem Fall verwenden können, die verworfen werden, wenn das Layout links oder aktualisiert wird .) Sie was auch immer Sie verwenden können, Wenn Sie einen Variablennamen wünschen, verwenden wir $daysElapsedin diesem Beispiel. Ihr Textobjekt wird also <<$daysElapsed>>als Text eingegeben.
  • Wechseln Sie zur Registerkarte Daten im Inspektorfenster
  • Gehen Sie zur Berechnung " Ausblenden bei"
  • Mit können Let()wir Filemakers Berechnungs-Engine nutzen, ohne der Tabelle ein Feld hinzufügen zu müssen. Geben Sie die a let-Anweisung folgendermaßen ein:
    Let ( $daysElapsed = Get ( CurrentDate ) - Table::myDate ; False )
    Dadurch wird die Variable $ daysElapsed automatisch bei der Eingabe des Layouts festgelegt. So werden die vergangenen Tage angezeigt. Wenn Sie Falseals Ergebnis in der Let-Anweisung zurückkehren, kann das Objekt immer angezeigt werden. Siehe Screenshots unten.

Um diesem Text Text hinzuzufügen, fügen Sie ihn einfach in die Berechnung ein, oder er kann direkt vor der Deklaration der Variablendefinition im Textobjekt hinzugefügt werden. So wie:
Days elapsed: <<$daysElapsed>>

Layout Mode

Browse Mode

Days elapsed calculation

Inspector pane - Hide object when...