みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境:WIN7 FM12AD
現在、従業員を管理するシステムを作成しています。
人の異動情報を管理する場合ですが、人の情報が入っているメインテーブルの社員番号と異動履歴テーブルの社員番号でリレーションを張ってあります。
その時、メインテーブル側の社員番号はユニークで履歴テーブル側の社員番号は複数存在します。
ある人が部署を異動するたびに異動履歴テーブル側のデータが追加されるからです。
ここまでは普通の考え方です。
しかし、異動の場合、事前に情報が来る事があります。
その場合、その人事異動の発令日になったら自動的にそうなるようにしたかったので
先ほどの社員番号のリレーションに加え、メインテーブル側の現日付(グローバル)>=異動履歴テーブル側の発令日
として発令日になったらリレーションが確立するようにしています。
メインテーブルと履歴テーブルとのリレーションは2種類作成しています。
社員番号だけでリレーションしている場合をメインテーブル側のレイアウトにポータルで表示していて発令日が未来でもそのポータルで新規登録できる仕組みです。
もうひとつの社員番号=社員番号 and メインテーブル側の現日付(グローバル)>=異動履歴テーブル側の発令日では
異動の種類によって状況という項目を計算させる仕組みにしてあります。
転入者の場合、発令日後は””、転出者の場合、発令日後は”転出”、退職者の場合、発令日後は”退職者”などです。
また在籍者か除籍者かを計算させる項目もあります。
状況欄が””なら在籍者、状況欄が”転出”や”退職者”などは除籍者です。
この条件の時、在籍者だけを絞って各職場毎に集計をしていますが集計表をスクロールするたびに再計算してしまいます。
そこでお伺いしたいのですが、計算式を連ねている場合と違って計算値の自動入力にして結果を確定したいのですが、その条件が知りたいのです。
上記のリレーションの場合、計算式を計算値の自動入力にしてメインテーブルの社員番号や現日付を張り直すと再計算してくれます。
しかし修正日が今日になってしまいます。
そこで履歴テーブル側の社員番号や発令日を張り替えたのですが再計算してくれません。
計算値の自動入力の条件はヘルプには 値は、レコードの作成時、または参照フィールドの1つが変更され、デスティネーションのフィールドが空白の場合に計算されます。
とありますが、メインテーブルの修正日を変更せずに再計算させる方法は有りませんでしょうか?
試されると分ると思いますが、
表示がもたつくのはリレーションを使ったフィールドのせいではないかもしれませんよ。
集計
はどのように。
試されるときは必ずバックアップを取ってからですね。
Offline
別のファイルで計算させて、結果をインポート(自動化を処理しない)すればいいです。
次回からは、実際に値が変わるんで修正日を変更していいですよね。
チポ様
集計とはどの部署に何人いるのかなどカウントしているだけです。
今回のリレーションではメインファイル側の社員番号と現日付、これを張り替えると修正日が今日になってしまいます。
異動履歴テーブル側の社員番号と発令日を張り替えても再計算してくれません
という事は計算値の自動入力ではなく別の方法を考える必要があるという事ですかね?
構造がよく分かりませんが、、
「現日付」を異動履歴テーブルに持たせていないのですよね?
これを持たせればいいことなのでは。
また、
「状況」をスクリプトで入力する手も有るのでは。
Offline
移動は、そう頻繁に起こる事では無いでしょうし、複数の移動が同日付けであるはずです。
ファイルを開く時に移動日を検索して、職員マスター側の現在の所属データを全置換等で置き換える、という処理を行った方がいいかもしれませんね。
Offline
皆さんありがとうございました。
この問題は直接は解決していないのですが、別の方法を考えたいと思います。
ありがとうございました。
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 513.45 KiB (Peak: 517.98 KiB) ]