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

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

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

You are not logged in.

Announcement

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


#1 2017-06-19 13:30:55

pol
Member

ポータルの時系列の日付を自動で表示したい

ポータルを時系列でデータを表示しています。

入力する日付は決められているので、6つの日付を自動表示したいです。



日付け  データ1   データ2
6/1           
7/1         
8/1                               
9/1         
10/1
11/1


というように日付だけ6行の日付けを常に1ヵ月間隔で自動で表示させておくことは可能ですか?

日付けのフィールドを繰り返しの計算フィールドで変数を使ってもうまく表示できませんでした。

どのようにすれば表示できますか?

Offline

#2 2017-06-19 14:06:37

Shin
Member

Re: ポータルの時系列の日付を自動で表示したい

Day ( 日付 ) = 1 というポータルフィルターを使えばいいのでは。

Offline

#3 2017-06-19 14:36:23

pol
Member

Re: ポータルの時系列の日付を自動で表示したい

Shin様

ありがとうございます。
うまく説明できずすいません。

ポータルは1行目にフィールド入力しないと、2行目というように、次の行が表示されないですよね。

常に6行の日付を表示させるやり方がわからないのです。

入院日を基準に1月間隔で6行分の日付を自動で表示したいです。
どのようにフィールドを設定すれば表示できますか?

Offline

#4 2017-06-19 15:30:44

チポ
Member

Re: ポータルの時系列の日付を自動で表示したい

リレーションの設定で、
レコード作成に許可を与えておくと、
ポータルの最終行に入力することでそのレコードが作成出来ます。

ですから、スクリプトで
ポータルの最初の行に移動、入院日 + 1月 を入力
次の行に移動、入院日 + 2月 を入力
・・・これを6行までLoop

とすればいいのでは。


月末近くの日だと、
大の月、小の月が有りますからその処理方法を決めておく必要が有るでしょうね。

Offline

#5 2017-06-19 16:28:32

Shin
Member

Re: ポータルの時系列の日付を自動で表示したい

ポータルを表示している側に、あらかじめ日付付きのレコードを作っておく必要がありますね。
チポさんのスクリプトでもいいですし、1ヶ月ごとを設定した繰り返しフィールドを作り、それをポータルの関連先のテーブルからインポート(繰り返しフィールドはレコードへ分解)を行なってもいいでしょう。

Offline

#6 2017-06-19 17:28:51

pol
Member

Re: ポータルの時系列の日付を自動で表示したい

Shin wrote:

ポータルを表示している側に、あらかじめ日付付きのレコードを作っておく必要がありますね。
チポさんのスクリプトでもいいですし、1ヶ月ごとを設定した繰り返しフィールドを作り、それをポータルの関連先のテーブルからインポート(繰り返しフィールドはレコードへ分解)を行なってもいいでしょう。

ありがとうございます。

全てを聞いてしまいもうしわけありません。
スクリプトの方が簡単にできそうなのかなと考えています。

・日付フィールドにスクリプトをあてるのでしょか?(どこにスクリプトを当てるのか分かりません)
・スクリプトはどのように組めばいいでしょうか?

Offline

#7 2017-06-19 17:59:25

チポ
Member

Re: ポータルの時系列の日付を自動で表示したい

ステップの概略を

  $c = 1
  ポータル内の行へ移動 [ 最初の ]
  Loop
    フィールド設定 [ 関連テーブル::日付 ; Date ( Month ( 入院日 ) + $c ; Day ( 入院日 ) ; Year ( 入院日 ) ) ]
    Exit Loop If [ $c = 6 ]
    $c = $c + 1
    ポータル内の行へ移動 [ 次の ]
  End Loop

月末の処理を考慮していません。

Offline

#8 2017-06-19 17:59:55

Shin
Member

Re: ポータルの時系列の日付を自動で表示したい

どっちでも同じようなものです。
https://www.dropbox.com/s/qyhwj8vfj8xp8 … 7.zip?dl=0
に両方のスクリプトを組み込んであります。
月末の処理はしていません。

Offline

#9 2017-06-20 08:04:25

pol
Member

Re: ポータルの時系列の日付を自動で表示したい

Shin wrote:

どっちでも同じようなものです。
https://www.dropbox.com/s/qyhwj8vfj8xp8 … 7.zip?dl=0
に両方のスクリプトを組み込んであります。
月末の処理はしていません。

Shin様、チポ様ありがとうございます。

サンプルを見させて頂きました。

スクリプトステップは手動で行うのですね。

検査日のデータが入力されたら、自動的にスクリプトが発動するにはどうすればいいですか?

Offline

#10 2017-06-20 08:49:26

Shin
Member

Re: ポータルの時系列の日付を自動で表示したい

基準になる検査日のフィールドに、トリガーを仕掛ければいいでしょう。

ただ、その基準日の変更を行う時にどの様な処理が必要かを検討しておきましょう。

月末の算出は
https://fm-aid.com/bbs2/viewtopic.php?id=6484
が参考になるかと思います。

Last edited by Shin (2017-06-20 11:44:21)

Offline

#11 2017-06-20 10:20:59

pol
Member

Re: ポータルの時系列の日付を自動で表示したい

ありがとうございました。

月末の処理を考えてみました。
でも....どうもうまくいきません。

Min関数を使ってみましたが間違いでしょうか?

Offline

#12 2017-06-20 11:43:47

チポ
Member

Re: ポータルの時系列の日付を自動で表示したい

ルールが
  求めた日付が翌月末以降になったら翌月末にする

ならば、
  翌月の日付と翌月月末の小さい方を取る
でいいですね。

これは
  Min関数
を使ってできますよね。

Offline

#13 2017-06-20 13:08:51

pol
Member

Re: ポータルの時系列の日付を自動で表示したい

おかげさまでできました。

Min(Date ( Month ( 入院テーブル::入院日) - 1 + Get ( アクティブポータル行番号 ) ; Day ( 入院テーブル::入院日) ; Year ( 入院テーブル::入院日 )) ; Date ( Month ( 入院テーブル::入院日 ) + Get ( アクティブポータル行番号 ) ; 0 ; Year ( 入院テーブル::入院日 )) )

ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 528.37 KiB (Peak: 549.27 KiB) ]