みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっています。
FM13 Win7使用です。
機器管理のDBを作成しています。
機器詳細テーブル(1機種1レコード)
ID
名称
型番
S/N
点検修理テーブル
ID
名称
型番
内容
廃棄機器詳細テーブル
ID
名称
型番
S/N
廃棄機器点検修理テーブル
ID
名称
型番
内容
全てIDでリレーションしています。
機器が廃棄になった時に
機器詳細テーブルのレコードを削除し、廃棄機器詳細テーブルにコピーしたいです。また、同時にその機器(同じID)の点検、修理の記録も点検修理テーブルから削除し廃棄機器点検修理テーブルにコピーしたいです。
出来れば機器詳細テーブルのレイアウトからボタン一つで行いたいのですがどういう風にスクリプトを組めばいいのでしょうか?
宜しくお願いします。
抽出、インポート、削除、だけなんですが。
別テーブルにする意味が有りますか、もう一度よく考えてみられれば如何でしょう。(廃棄日の入力のみで済むと思いますが)
Offline
Shin様
ありがとうございます。
廃棄機器を機器一覧に出したくないのと、毎回廃棄機器を除外するのが手間だと思いまして。
たしかにやることはそうなんですが、機器詳細のインポートエクスポートと点検修理のインポートエクスポートを一つのスクリプトでやろうとしたらうまくいかなくて・・・
2つスクリプトを作ればいいのでしょうが、1つのスクリプトで行う方法がないものかと思って質問させて頂きました。
できればエクスポートしたファイルを残したくないのですがそれのやり方もよくわからない・・・そんな状態です。
皆様方から見れば意味のわからない方法かもしれませんができれば教えていただきたいです。
宜しくお願いします。
廃棄した機器を、機器の全体管理者以外が見る事は、まず無いですよね。アクセス権で制限してしまうと、簡単。一覧でも、トリガーを使って常に抽出された状態を作っておけば、廃棄機器は表示されない様に作り込むことは出来ます。(こちらの構造が絶対にお勧め)
ご希望に添って別テーブルにすることにして、点検修理テーブルのレコードは、単独で見る事は無いでしょうから、そのまま運用すれば良いのでは。
機器テーブルで、機器テーブルで廃棄機器を抽出し、廃棄機器テーブルのレイアウトへ移り、インポートします。IDを変更しない様にしておけば、そこから点検修理テーブルへリレーションを張っておけば、そのままで閲覧可能です。
どうしても、点検修理テーブルのレコードも削除したい場合には、機器テーブルで廃棄機器を抽出、関連レコードへ移動(対象レコードから)で点検修理テーブルへ移動、廃棄点検修理テーブルへ移動してインポート、点検修理テーブルへ移動して対象レコード削除、廃棄機器テーブルへ移動し機器テーブルからインポート、機器テーブルへ移動し、対象レコード削除、
という手順でしょう。
ただ、レコード削除、という危険なステップが含まれ、これが日常的に動くため、検索等がうまく行かなければ、全レコードを消してしまう、という誤動作が起きる可能性があるんですよね。(レコード削除は可能な限り行なわない様に設計するべきです)
Offline
発想を転換させて、全く違う構成を。
今の機器一覧は、現有廃棄すべてを含んだ機器のマスターテーブルにします。
現有機器テーブルを作り、現有機器のIDのみを保有させます。IDで機器マスターとリレーションすれば、OK。廃棄する時は、このテーブルのレコードを削除し、新規購入は、IDを入力して、リレーション越しに機器マスターにレコードを作ってもいいし、機器マスター側で入力して、IDをインポートしても良いでしょう。
ソートなどが遅くなる可能性がありますが、必要なフィールドのみをルックアップしておけば良いでしょう。
このテーブルからメンテナンステーブルへIDでリレーションを張っておけば、機器マスターと、現有機器テーブルの両方からアクセスが可能。
この構造でしたら、現有機器のレコードの削除のみですので、IDそのものはマスターの廃棄情報を見れば再現可能で、全削除してしまっても運用に問題は有りません。
Offline
Shin様
そういう発想もあるのですね。
ありがとうございます。
結局はShin様のいう通りにレコードの削除を懸念して廃棄フィールドを作成する方法にしました。
お手数おかけしました。
Pages: 1
[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 513.4 KiB (Peak: 517.94 KiB) ]