みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ポータルを時系列でデータを表示しています。
入力する日付は決められているので、6つの日付を自動表示したいです。
日付け データ1 データ2
6/1
7/1
8/1
9/1
10/1
11/1
というように日付だけ6行の日付けを常に1ヵ月間隔で自動で表示させておくことは可能ですか?
日付けのフィールドを繰り返しの計算フィールドで変数を使ってもうまく表示できませんでした。
どのようにすれば表示できますか?
Offline
Day ( 日付 ) = 1 というポータルフィルターを使えばいいのでは。
Offline
Shin様
ありがとうございます。
うまく説明できずすいません。
ポータルは1行目にフィールド入力しないと、2行目というように、次の行が表示されないですよね。
常に6行の日付を表示させるやり方がわからないのです。
入院日を基準に1月間隔で6行分の日付を自動で表示したいです。
どのようにフィールドを設定すれば表示できますか?
Offline
リレーションの設定で、
レコード作成に許可を与えておくと、
ポータルの最終行に入力することでそのレコードが作成出来ます。
ですから、スクリプトで
ポータルの最初の行に移動、入院日 + 1月 を入力
次の行に移動、入院日 + 2月 を入力
・・・これを6行までLoop
とすればいいのでは。
月末近くの日だと、
大の月、小の月が有りますからその処理方法を決めておく必要が有るでしょうね。
Offline
ポータルを表示している側に、あらかじめ日付付きのレコードを作っておく必要がありますね。
チポさんのスクリプトでもいいですし、1ヶ月ごとを設定した繰り返しフィールドを作り、それをポータルの関連先のテーブルからインポート(繰り返しフィールドはレコードへ分解)を行なってもいいでしょう。
Offline
ポータルを表示している側に、あらかじめ日付付きのレコードを作っておく必要がありますね。
チポさんのスクリプトでもいいですし、1ヶ月ごとを設定した繰り返しフィールドを作り、それをポータルの関連先のテーブルからインポート(繰り返しフィールドはレコードへ分解)を行なってもいいでしょう。
ありがとうございます。
全てを聞いてしまいもうしわけありません。
スクリプトの方が簡単にできそうなのかなと考えています。
・日付フィールドにスクリプトをあてるのでしょか?(どこにスクリプトを当てるのか分かりません)
・スクリプトはどのように組めばいいでしょうか?
Offline
ステップの概略を
$c = 1
ポータル内の行へ移動 [ 最初の ]
Loop
フィールド設定 [ 関連テーブル::日付 ; Date ( Month ( 入院日 ) + $c ; Day ( 入院日 ) ; Year ( 入院日 ) ) ]
Exit Loop If [ $c = 6 ]
$c = $c + 1
ポータル内の行へ移動 [ 次の ]
End Loop
月末の処理を考慮していません。
Offline
どっちでも同じようなものです。
https://www.dropbox.com/s/qyhwj8vfj8xp8 … 7.zip?dl=0
に両方のスクリプトを組み込んであります。
月末の処理はしていません。
Offline
どっちでも同じようなものです。
https://www.dropbox.com/s/qyhwj8vfj8xp8 … 7.zip?dl=0
に両方のスクリプトを組み込んであります。
月末の処理はしていません。
Shin様、チポ様ありがとうございます。
サンプルを見させて頂きました。
スクリプトステップは手動で行うのですね。
検査日のデータが入力されたら、自動的にスクリプトが発動するにはどうすればいいですか?
Offline
基準になる検査日のフィールドに、トリガーを仕掛ければいいでしょう。
ただ、その基準日の変更を行う時にどの様な処理が必要かを検討しておきましょう。
月末の算出は
https://fm-aid.com/bbs2/viewtopic.php?id=6484
が参考になるかと思います。
Last edited by Shin (2017-06-20 11:44:21)
Offline
ありがとうございました。
月末の処理を考えてみました。
でも....どうもうまくいきません。
Min関数を使ってみましたが間違いでしょうか?
Offline
ルールが
求めた日付が翌月末以降になったら翌月末にする
ならば、
翌月の日付と翌月月末の小さい方を取る
でいいですね。
これは
Min関数
を使ってできますよね。
Offline
おかげさまでできました。
Min(Date ( Month ( 入院テーブル::入院日) - 1 + Get ( アクティブポータル行番号 ) ; Day ( 入院テーブル::入院日) ; Year ( 入院テーブル::入院日 )) ; Date ( Month ( 入院テーブル::入院日 ) + Get ( アクティブポータル行番号 ) ; 0 ; Year ( 入院テーブル::入院日 )) )
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.016 seconds, 9 queries executed - Memory usage: 525.38 KiB (Peak: 546.29 KiB) ]