みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
基本テーブル
基本ID
日付
注意事項ID
詳細テーブル
詳細ID
従業員名
出勤時間
退勤時間
注意事項テーブル
注意事項ID
注意事項内容
という構成で出勤簿をつくります
注意事項について、注意事項テーブルに20項目あり、それを順繰り表示させたいです
1から増えていき20になるとまた1から表示させるということです
日付で対応させると、注意事項の項目数が足りないので、
注意事項IDの21以降は重複したものを注意事項テーブルに登録すると
頻度が極端に増えるものがでてしまいます
仮に無理やり31項目に増やしたとしても、31個目はほとんど出現しなくなります
レコードが増えても重くならない方法で実装する方法はありませんか?
レコード作成時に自分の基本IDのひとつ前のレコードの注意事項IDと比較して
計算、表示させる仕組みだと増えると重くなっていきますよね?
Mod ( Get ( 日付 ) ; 20 ) + 1
で如何でしょう。ランダムに均等に出したければ、乱数とか秒とかを使ってもいいかな。
Last edited by Shin (2021-06-05 18:27:13)
Offline
日付を割るということになると、休日が入ると
その分だけ注意事項は飛ぶ(1の次が4になるとか)、ということになりますか?
必ず、1, 2, 3, ... と表示させなければいけませんか。長期間でみると、事項数が7の倍数にならない限りは、休日を含めて、表示回数はほぼ均等になります。
どうしても許されないのでしたら、休業日を除いてあるカレンダーを作ればいいでしょう。
Offline
基本テーブルにシリアル番号を追加して、それをGet(日付)の代りに使えばいいのでは。
レコード作成時に自分の基本IDのひとつ前のレコードの注意事項IDと比較して
計算、表示させる仕組みだと増えると重くなっていきますよね?
Lookup関数で参照すれば別に重くはならないけど。「前のレコード」を参照するためのフィールドが必要なので、シリアル番号の方が簡単です。
「レコード作成時」に必ず検索解除することにすれば、追加のフィールドやリレーションなしでGetNthRecordで参照できますね。
たしかに長期間で見ると大差ないのかもせれないので、それで良いかもしれませんね
シリアル番号を追加して日付のかわりにつかうとはどういうことですか?
MAXを求めてからシリアルを自動入力するようにするということでしょうか?
Shinさん
式の +1 はなぜですか1日が2になりませんか?
20日にはどうなります?
Offline
代りにとは、
Mod ( シリアル番号のフィールド ; 20 ) + 1
ということです。
20日が1になるから1から20でループするってことですね
日付よりもシリアル番号でやったほうが、
削除しない限り歯抜けがでないのでよいような気がしますがそれであってますか?
そうです。
シリアル値を従業員毎に振るのも、ちょっと手間では、という発想で、抜けも平均化出来る通し日を提案したんですが。
Offline
従業員ごとという話はどこから出てきました?
最初の発言の、日付ごとのテーブル(基本テーブル)に表示するようになってます。
しかし、何の注意なのかわかりませんが、20個を同じ順序で繰り返すより、日付のままで休日があれば少し飛ばしたり、ランダムに出てきた方がいいような気もしますね...完全にランダムだとあんまり長く出てこない事項があっても困るのか。
重要なことなら、20個なら常時全部表示とか、毎回5個ずつとかにしないと、20日に1回しか出てこないのではあんまり意味がない感じもするし...
ランダムに一つ選択
ではなく、
1~20をランダムに並び替える
という考え方も、、
Offline
最初に示されているテーブルは、1日1職員1注意事項ですよ。それにシリアルを打てば、職員ごとに異なる注意事項が出てきますよ。
Offline
基本テーブル
基本ID
日付
注意事項ID
注意事項はここに入れるのだから、1日1注意事項なのでは。
1日1職員の方は
詳細テーブル
詳細ID
従業員名
出勤時間
退勤時間
ですよね。これはポータルか何かで入れてるのだと思いますけど。今見直すと、ここに外部キーの基本IDが抜けてますね。。。詳細IDは特に使ってなさそうなので、それがリレーションキーなのかも。
申し訳ない、読み間違いました。
Offline
週休2日ならば、1週間で5進むので、20件だとその他の休日が無ければ曜日で固定されてしまいます。
Last edited by Shin (2021-06-11 17:31:52)
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 535.76 KiB (Peak: 556.3 KiB) ]