初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-06-22 11:11:06

なぷき
Guest

時間帯によってメッセージを表示するには

いつも参考にさせていただき、ありがとうございます。

Filemaker16のwindows環境で今現在の時間帯によってメッセージを変化させたいと思い、
下記のようにしてますがどうにも思ったように動作してくれません。
時刻が変化してもメッセージは変わらないままです。
このフィールドは非保存にしているのですが、他に直すところがあるでしょうか?

Case(
GetAsTime ( "08:00:00") < Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")< GetAsTime ( "11:59:59");"午前です";
GetAsTime ( "12:00:00") < Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")< GetAsTime ( "16:59:59");"午後です";
GetAsTime ( "17:00:00") < Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")< GetAsTime ( "19:59:59");"残業です"
)

#2 2018-06-22 11:29:23

チポ
Member

Re: 時間帯によってメッセージを表示するには

> GetAsTime ( "08:00:00") < Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")< GetAsTime ( "11:59:59")
これは成り立ちません。

あえて書くなら、
  GetAsTime ( "08:00:00") < Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")
  and
  Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")< GetAsTime ( "11:59:59")
ですが、

  Filter ( GetAsTime ( Get(タイムスタンプ) ) ;"0123456789;:")
このFilterは意味ないでしょう。

さらに、
そのフィールドを非保存にしても
  Get(タイムスタンプ)
がその瞬間を繰返し返す訳ではありません。
そのフィールドが表示させるときに再評価されます。

ですから
ご希望はスクリプトで繰返し再計算させるようなことをしないと無理では。

Offline

#3 2018-06-22 11:30:49

Shin
Member

Re: 時間帯によってメッセージを表示するには

Case(
Get(時刻) < GetAsTime ( "11:59:59");"午前です";
Get(時刻) < GetAsTime ( "16:59:59");"午後です";
Get(時刻) < GetAsTime ( "19:59:59");"残業です"
)
でいいのでは。検証はしていませんが

Offline

#4 2018-06-22 12:14:14

なぷき
Guest

Re: 時間帯によってメッセージを表示するには

早速のご回答ありがとうございます!
>チポさん
Filemakerの仕様を読み違えていました。
たしかに A< B< C は計算式として受け付けていないようです・・・
また、Filter関数をかませたのはGetAsTimeでは「午前」とか「午後」と値が返ってくるのでこれに対処するためのつもりでした。
なくてもよかったんですね。FMは不思議です。

>Shinさん
シンプルな計算式をありがとうございます。確かにこれできちんと動作しました。
可読性もはるかにあがりました

#5 2018-06-22 13:11:29

チポ
Member

Re: 時間帯によってメッセージを表示するには

解決
しちゃっている様ですが、

前レスで書いた通り、
その時刻が来ても表示は切り替わりませんよ。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 511.23 KiB (Peak: 518.43 KiB) ]