みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Windows 7
FileMaker Pro 10
人員データとそれに紐付いた複数テストの受験日、結果を管理するDBを作成しました。
テスト結果は人員データのIDを照合フィールドとしてポータルで人員データのレイアウトに表示させています。
DBは普段サーバーに保存されていて、一度PCにコピペしてからデータ変更などの操作を行ない、再びサーバーに上書きするようにしています。
人員データを変更する際に、以下のようなスクリプトを実行していますが、スクリプト通りに実行されるときと、うまく実行されないときがあります。
うまく実行されたか、されていないかエラーメッセージ等が出ないので判別が困難です。
スクリプトの中に変則的にうまくいったりいかなかったりする要素があれば、組み直したいと思います。
スクリプト自体に問題がなく、変則的にうまくいったりいかなかったりする原因をご存知の方は対処策も併せて教えて頂きたいです。
お知恵をお貸しください。よろしくお願いします。
● DBの構造(全て別テーブル)
・人員データマスター(人員データの基本情報が記載)+A、B、Cのテスト情報をポータルで表示
・テストAマスター(受験日、結果等が記載)
・テストBマスター(受験日、結果等が記載)
・テストCマスター(受験日、結果等が記載)
・人員データの変更レイアウト
・テストAの変更用レイアウト
・テストBの変更用レイアウト
・テストCの変更用レイアウト
● スクリプトA(マスターの内容を変更用レイアウトにコピペ)
人員マスターのIDをコピー
人員変更レイアウトに切替
新規レコード作成
ID貼り付け
ーー変更内容を入力ーー
人員変更レイアウトのIDをコピー
テストAマスターに切替
検索モード
IDに貼り付け
エラー処理ON
検索実行
If ( Get ( 最終エラー)=401)
スクリプト実行(テストB検索)※1
Else
スクリプト実行(テストAコピペ)※2
スクリプト実行(テストB検索)
※1
人員変更レイアウトのIDをコピー
テストBマスターに切替
検索モード
IDに貼り付け
エラー処理ON
検索実行
If ( Get ( 最終エラー)=401)
スクリプト実行(テストC検索)
Else
スクリプト実行(テストBコピペ)
スクリプト実行(テストC検索)
※2
レコード移動(最初の)
Loop
変数を設定
テストA変更用レイアウトへ切替
新規レコード作成
フィールド設定
テストAマスターへ切替
レコード移動(次の;最後まできたら終了)
End Loop
● スクリプトB(変更レイアウトの内容をマスターに新規作成)
変数を設定
社員IDをコピー
人員マスターに切替
検索モード
IDを貼り付け
検索実行
対象レコード削除(ダイアログなし)
新規レコード作成
フィールド設定
スクリプト実行(テストA)※3
〃 (テストB)
〃 (テストC)
人員変更用レイアウトに切替
対象レコード削除(ダイアログなし)
人員マスターに切替
全レコードを表示
※3
スクリプト実行(テストA~C)
テストA変更用レイアウトへ切替
If ( Not IsEmpty ( 変更 テストA :: ID)
レコード移動(最初の)
Loop
変数を設定
テストAマスターに切替
新規レコード作成
フィールド設定
テストA変更用レイアウトに切替
レコード移動(次の;最後まできたら終了)
End Loop
全レコードを表示
対象レコード削除(ダイアログなし)
End If
Offline
ファイルをコピーしてきて、さらに、レコードをコピーして、変更したら書き戻し、書き戻し、と何か面倒な運用ですね。
まず確認したいことは、そのファイルを扱っているのはあなた一人、それとも複数人、
あなた一人でしたら、ファイルの書き戻しは必ず行われていて、絶対に忘れていませんか。
複数でしたら、ファイルの同時変更と相互上書きは起こっている可能性がありませんか。
レコードの変更について、変更前に確認を行って、という事だと思いますが、それは必ず必要ですか。
FileMaker のファイルは結構デリケートで、ファイルサーバーでの共有はファイルを壊す可能性が高いです。
理想をいえば、何処かで FileMaker server か、FileMaker pro でファイルを開いておいて、そこにネットワーク経由でつなぎ、共有ファイルとして開く、という運用が良いと思います。
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 525.59 KiB (Peak: 552.84 KiB) ]