みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMS11:Macmini server (OSX 10.6)
FMP11:Windows7pro(adv1台あり)
HiroさんのToDoカレンダのサンプルを参考にさせて頂きながら
1日~月末までの勤務表のシステムを作成しようとしております。
フィールドは、
作成年月(タイプ:日付)※レイアウト上の表示は年月まで
日付一覧(タイプ:計算、[42])※計算式=Let([$start=Date(Month(作成年月[1]);1;Year(作成年月[1]));
$date=$start + Get(計算式繰り返し位置番号) - DayOfWeek($start)];$date)
勤務日(タイプ:計算[31])※計算式=Date ( Month ( 作成年月[1] ) ; Get ( 計算式繰り返し位置番号 ) ; Year(作成年月[1]))
Shift(タイプ:テキスト[31])
※土曜は、祝日のある週は半日勤務となるため、日付一覧フィールドを使用して判別しています。
この段階で、まず土日と祝日は勤務日の日付に色付けを行う条件付き書式で
祝日の判断をするため、カスタム関数:holidayJ(日付一覧)、
条件付き書式:holidayJ(Self) ≠ ""と設定しましたが、
他のフィールドへ入力する際に、例えばShiftフィールドを選択すると
勤務日の数字が1から順に一瞬消えて再び表示される(波打つような)状態に
なってしまいます。
カスタム関数を削除すると、この現象は出なくなりました。
カスタム関数は動きが悪くなる要因となるものなのでしょうか?(※今回初めて使用しました)
それとも設定の仕方が悪いのでしょうか?
また、この現象の改善策があれば教えて頂きたいです。
なお、来月11→14にバージョンアップを予定していますが、
14にすると改善したりするものなのでしょうか?
よろしくお願いします。
作成年月がグル―バル?
そのカスタム関数が重いので、軽い方法を模索する。
例えば、土日はDayOfWeek関数で識別できるので、それ以外の祝日・自社規定休日だけを
別テーブルに事前に保存しておき、Lookup関数で照合識別する、とか?
年間の祝日数は20日に満たないので、年に一度、手入力しても大した手間になりません。
Last edited by Hiro (2015-05-25 20:58:04)
Offline
calcerさん
仰るとおり作成年月フィールドはグローバルでした。
Hiroさん
やはりholidayJ関数が原因なんですね。
Hiroさんの仰る方法(別に祝日テーブルを作成、Lookup照合)に
変更したいと思います。
カスタム関数には重い軽いがあるんですね。
勉強になりました。
お二方ともありがとうございました。
関数が重いのも一因ですが、作成年月フィールドはグローバルということは、他の計算フィールドが非保存になってますよね。
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 508.93 KiB (Peak: 515.71 KiB) ]