1. 概要
このカレンダーの日にちの部分は繰り返しフィールド(繰り返し数7個)を使用し、6週分で6フィールドに分割されています。しかし、休日等のデータをこのカレンダーから他のテンプレートに提供する場合には、6フィールドに分かれたままは不便です。そこで、この、6フィールドに分割された繰り返しフィールドのデータを、一つの繰り返しフィールド(繰り返し数32個)に移し変えることが有効な解決法でした。
2. 休日等のデータをコードに変換する
日にちの部分は6週分で6フィールドに分割されています。一週目は1が(金)で2が(土)です。(繰り返しフィールドは横方向に7個です。)左図参照
こんどは、下図を見てください。矢印が示す位置の赤線の上に01と並んでいます。この0が金曜、1が休日(赤マルで囲った日にち、つまり土曜日)を示しています。
次に、となりの列を見てください。1000001と数字が並んでいますが、 この数字が示す意味は先程の説明の通り、1が日曜で、00000が月〜金、最後の1が土曜を示します。
このように一週〜六週まで6フィールドが用意されているのです。
この6フィールドにあるデータを繰り返しフィールド(繰り返し数32個)ひとつにまとめます。
ひとつにまとめる方法として、繰り返しフィールド(繰返し数32個)に1〜31までの連続番号を入力した演算補助のためのフィールドを作成しておきます。
この連続番号と一週〜六週までのデータをif文で割り当てることで、一つの繰り返しフィールドにまとめることができます。
この手法は、全てのデータ値を移項できるのではなく、この例のようなYesかNoか(出勤日か休日か)程度のレベルのデータ値に有効です。
この手法は、ファイルメーカーPro2.1使用時に利用しました。
もっと簡単で有用な手法が多数あると思います。このページをご覧になった方で優れた手法をお持ちの方がおられましたら、是非、このページでご紹介下さい。
また、説明不足の点が多々あると思いますが、ご容赦願います。
calendarのダウンロードはこちら!
kipwmiのファイルメーカー会議室へお気軽にどうぞ!