みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。FileMaker13です。
各地の店をまわる営業さんの予定表を作成しています。
営業さんはホテル暮らしで1ヶ月間帰ってきません。
予定表には、日付、店、営業、ホテルが入ります。
翌日来訪する店周辺のホテルに泊まりますので、翌日のレコードの店を参照する計算フィールドを作成し、それを見てホテルをドロップダウンリストで選択させます。
※店に対応するホテルは別途紐付けさせています。
翌日店IDの計算は下記のとおりです。
//翌日、翌々日(日曜対応)、当日(最終日は店周辺に宿泊)の順に店を参照
Let ( [
$翌日 = GetNthRecord ( 店ID ; Get ( レコード番号 )+1 );
$翌々日 = GetNthRecord ( 店ID ; Get ( レコード番号 )+2 )
];
Case (
GetAsBoolean ( $翌日 ) ; $翌日 ;
GetAsBoolean ( $翌々日 ) ; $翌々日 ;
店ID
)
)
ポータルに月単位で表示しているのですが、最終日が月末の場合、
翌日店フィールドが?となってしまいます。
GetAsBooleanの代わりにnot IsEmptyなど試してみたのですが、うまくいきません。
?にならないようにするにはどうすればよいでしょうか。
店IDをGetAsBoolean する意味がわかりませんが、変数に入れなければ
IsValid(GetNthRecord ( 店ID ; Get ( レコード番号 )+1 ) )
とか、Get(対象レコード数)と比較すれば
ポータルだとGet(対象レコード数)が使えない、
DB設定内容よく分からないので、安全を見て愚直に月末日を計算、
Let ( [
#Is月末= (Get(日付)=Date(Month(Get(日付)+1; 0; Year(Get(日付)));
#翌日= Case(#Is月末; 0; GetNthRecord(店ID;Get(レコード番号)+1);
#翌々日= Case(#Is月末; 0; GetNthRecord(店ID;Get(レコード番号)+2)
];
Case(#翌日;#翌日; #翌々日;#翌々日; 店ID)
)
とか?(計算結果は非保存で)
Last edited by Hiro (2014-04-03 12:12:13)
Offline
月単位でポータルを表示させるのを変更すれば、今のままで問題ないのでは。
Offline
皆様ありがとうございます。
Hiro様
月末を見ればよかったのですね。うまくいきました。ありがとうございました。
Shin様
月単位で翌月の予定が組まれるので、月ごとのポータルが一番入力しやすいインタフェースでした。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 551.74 KiB (Peak: 579.51 KiB) ]