初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2013-08-28 14:14:35

doi9003
Guest

時限実行

環境:WINXP FMP12ad

その日になるとあるスクリプトを動かしたいのですが。

詳しく説明すると
人事異動の辞令が来ます。
その時点で異動情報を別テーブルに入力しておいて、異動日になった瞬間に以前の部署の履歴を履歴テーブルに退避させて
新しく異動情報を反映させたいのですが、どの様にすればよいのでしょうか?

サーバーソフトは使っていません。FMP12単体で9人以下でシェアーしています。

#2 2013-08-28 14:23:43

Shin
Member

Re: 時限実行

履歴へ移動させないと駄目ですか。

日付の比較を含めたリレーションで、日付で降べきにソートしておけば、その移動日になった時点で、新しい辞令が有効になるように設定できます。

Offline

#3 2013-08-28 14:31:40

doi9003
Guest

Re: 時限実行

履歴へ移動させないと駄目ですか。
とは別のスクリプトを動かす必要があるか?という意味ですよね!
それは別のスクリプトを動かす必要はあります。

「OnTimerスクリプトをインストール」で間隔を86400にするなどで何とかなるかと考えていたのですが、
このステップはこの様な目的で使う物では無いような気がして来ました。

#4 2013-08-28 15:20:19

Shin
Member

Re: 時限実行

ちょっと意味が違います。

新しい辞令レコードを別テーブルに用意して、それを移動させ、さらに古いレコードを退避させる、という動きが必要ですか、というお尋ねです。

簡単なサンプルファイルです。日付によって、有効な辞令レコードを読み取って、現所属を表示しています。
https://dl.dropboxusercontent.com/u/926 … 25.fp7.zip

その別のスクリプト、とは、不可欠なものですか。
毎日朝に1回動かして、その日に異動者があれば処理を行う、ということでしたら、その日の異動者を抽出してみると良いですよね。
サーバー運用でしたらサーバーサイドで動かしておくと良いです。
サーバー運用でなければ、ファイルを開いたときに処理を行うようにするか、ファイルが開きっぱなしでしたら、OnTimerスクリプトで24時間ごとに動かせば良いでしょう。

Offline

#5 2013-08-28 15:50:58

doi9003
Guest

Re: 時限実行

サンプルまで作って頂きましてありがとうございました。

まだ少し分からないのですが、
履歴のテーブルに未来の所属も入れてしまい、リレーションで見せるデータを変えるという事でしょうか?

#6 2013-08-28 16:10:59

Shin
Member

Re: 時限実行

そのとおりです。
管理が非常に楽になりませんか。また、職員ごとの履歴の一覧もすぐ出ます。

Offline

#7 2013-08-28 16:36:19

doi9003
Guest

Re: 時限実行

はい良く分かりました。

メインのテーブル側には所属のデータは持たずに履歴側に全て持たせてリレーションで見せ方を変化させる方法はすごいです。

一つのテーブルに情報を集めてしまうとそれに固執してしまってそんな発想は浮かびませんでした。

ありがとうございました。

#8 2013-08-30 11:09:29

doi9003
Guest

Re: 時限実行

すごく良く分かったのですが、メインの従業員テーブルから所属に関する情報だけ履歴のテーブル側に分かれる事になります。

この事で不都合になると考えられることは、全データの入れ替えメンテの時です。

一つのテーブルからエクスポートする場合は項目名がそのまま出ますが、テーブルが違うと「履歴のテーブル::所属」になってしまいます。

また戻す時も大事です。

この件はどの様に考えたら良いのでしょうか?

#9 2013-08-30 14:45:27

Shin
Member

Re: 時限実行

> 全データの入れ替えメンテ
の意味が良くわかりません。

>一つのテーブルからエクスポートする場合は項目名がそのまま出ますが、テーブルが違うと「履歴のテーブル::所属」になってしまいます。
>また戻す時も大事です。
これから見ると、エクスポートして退避して、インポートする、ということでしょうか。

何を目的の操作ですか?

職員名簿は、退職フィールドを作っておき、そこに入力すれば、通常の検索からはじいておく、という運用をすれば良いと思いますが。

Offline

#10 2013-08-30 14:59:26

Porter
Guest

Re: 時限実行

全データの入れ替えメンテ

ファイルが壊れた時の修復後の推奨作業、のようなものでしょうけど、
それはどんな構造で作ってたとしても、各ファイル・テーブルごとに個別にエクスポート・インポートが必要です。
複数テーブルに一度にインポートできないので、関連があるテーブルだからといってまとめてエクスポートしても意味がないです。

#11 2013-08-30 15:56:12

doi9003
Guest

Re: 時限実行

言われる事はごもっともです。

ありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 11 queries executed - Memory usage: 517.19 KiB (Peak: 522.09 KiB) ]