みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
ドロップダウンカレンダを設置し、下記の様に空白の場合、システム日付を表示するように計算値に設定しています。
If ( IsEmpty ( Self ); Get ( 日付 ) + 1; Self )
これをシステム日付の翌日を初期表示するように変更したいのですが方法をご教授いただけますでしょうか。
お手数ですが、よろしくお願いいたします。
Offline
Get ( 日付 ) + 1
が翌日ではないの?
himadaneeさん
ご返信ありがとうございます。
すみません、書き方を間違えました。
システム日付を表示する計算値を下記の様に設定しています。
If ( IsEmpty ( Self ); Get ( 日付 ) ; Self )
試しに、下記としてみましたが、取得できませんでした。
If ( IsEmpty ( Self ); Get ( 日付 ) + 1; Self )
設定の仕方に誤りはないでしょうか。
誤りがないとすれば、他に原因があるようですが・・・。
Offline
その計算式は、スクリプトなどに設定されているのでしょう。
self ではなく、フィールドを設定してください。
Offline
ドロップダウンカレンダーに設定、というから、フィールドの計算値自動入力しかないと思うんだけど...
他の質問で検索を色々やってるようだから、グローバルフィールドなのかな?
一旦データを削除しないと元の値のままです。
削除してもその時点での翌日が常に入ってしまうので、カレンダーを使うときに削除しないといけません。
それならフィールドの計算値自動入力には設定しないで、Ifなしで単純に翌日を設定するスクリプトにした方がいいですね。
そうか、ドロップダウンカレンダーを使っているんでしたら、普通のフィールドですね。
ならば、自動入力の計算式で、
Evaluate ( "Get ( 日付 ) + 1" ; [そのフィールド] )
を設定しておいて、上書きを許可しないだけでいいのでは。
Last edited by Shin (2020-12-09 08:49:30)
Offline
単に
Get ( 日付 ) + 1
だけでいいのでは。
入力値の自動化は新規レコードに有効で、既存のレコードには効果はありません。
ただし、設定で
既存値置き換え
とすればその計算式の引数が変更されたとき再計算されます。
しかし今回の様に取得関数だけを使った場合それが再計算されることは無いですね。
Offline
チポさん、
その動作検証したんですが、設定してある日付を削除したときに、空白になってしまいます。
どのような動きをさせたいのかによるでしょうが、敢えて評価されるような式が #6 の計算式で、日付を削除したら明日の日付が設定されます。
Offline
Shinさんの式の意味は理解していました、、
入力値の自動化ですから、
その後は意思通りに編集できるべきでは。
削除したら削除でいいのでは。
Offline
チポさん
Shinさん
いつもありがとうございます。
Get ( 日付 ) + 1で対応できそうです。
ご回答ありがとうございました。
Offline
Pages: 1
[ Generated in 0.037 seconds, 9 queries executed - Memory usage: 517.69 KiB (Peak: 522.23 KiB) ]