みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
たびたびお世話になります。
Win7 FMA13
現在開いているファイル内にあるテーブルAをある条件でフィルタリングして、それをテーブルBにインポートをしたいと考えています。
スクリプトを組む場合、以下の手順でよいでしょうか?
何か抜け等があったらご指摘をお願いします。
レイアウト切替 [テーブルA]
エラー処理 [オン]
検索実行 [] ※検索条件は適当に
エラー処理 [オフ]
If [Get(最終エラー)= 0]
レイアウト切替 [テーブルB]
変数を設定 [$path; 値:Get(ファイルパス)]
レコードのインポート[「$path」;一致するレコードを更新;シフトJIS]
End If
レイアウト切替 [元のレイアウト]
※上記では「一致するレコードを更新」としていますが、これは一つの例です。
特に問題なさそうですが
エラー処理 [オフ]
がIfの前にあるのがちょっと気持ち悪いです。
Get(最終エラー)に影響しないスクリプトステップの一覧ってどこかにありましたっけ。
エラー処理 [オフ]
とすると、
その後の最終エラーが拾えなくなっちゃいますよ。
変数を設定 [$path; 値:Get(ファイルパス)]
レコードのインポート[「$path」;一致するレコードを更新;シフトJIS]
インポートのソースファイルが自ファイルですから、
インポートステップのファイル指定に
自ファイルの相対パスを入れておけばいいですよね。
Offline
エラー処理は FileMaker が出すアプリケーションとしての
エラーダイアログを表示しなくなるだけなのでオンオフ関係なくエラーは拾えます。
オフの状態ではエラーがダイアログを表示するエラーが出た場合、
If でエラーを拾う前にダイアログが出てしまうので必要に応じてオンオフするのがベストプラクティスでしょう。
Last edited by Moz (2015-08-25 15:54:19)
Offline
レイアウト切替 [テーブルA]
エラー処理 [オン]
検索実行 [] ※検索条件は適当に
エラー処理 [オフ]
If [Get(最終エラー)= 0]
レイアウト切替 [テーブルB]
変数を設定 [$path; 値:Get(ファイルパス)]
レコードのインポート[「$path」;一致するレコードを更新;シフトJIS]
End If
レイアウト切替 [元のレイアウト]
これだと、If 分が拾うのは、エラー処理[オフ] が出すエラーだけ(現実にエラーが出る事は無いでしょう)で、検索実行でのエラーは拾えません。
エラー処理[オフ] は、最後に置くのが良いかも。
また、ファイルを共有しているのでしたら、そのパスで良かったかな?
Offline
皆様、アドバイス感謝します。
これだと、If 分が拾うのは、エラー処理[オフ] が出すエラーだけ(現実にエラーが出る事は無いでしょう)で、検索実行でのエラーは拾えません。
エラー処理[オフ] は、最後に置くのが良いかも。
そのようですね。基本的にスクリプトステップを1行実行する度に最終エラー値は変動していくようです。デバッガでも確認できました。
また、エラー処理についてヘルプを確認したところ、「Get ( 最終エラー ) は、テストするスクリプトステップの直後で使用してください。 間に正常なステップがあると処理するエラーコードが消去される場合があります。」とありました。
また、ファイルを共有しているのでしたら、そのパスで良かったかな?
ネットワーク経由でファイル共有しているPCから、意図した値を取得できていることを確認しましたので大丈夫そうです。
Get(最終エラー)に影響しないスクリプトステップの一覧ってどこかにありましたっけ。
ここにあった。
http://help.filemaker.com/app/answers/d … sterror%29
FM10からの変更ですね。
FileMaker Pro 10, all script control steps never clear LastError any more.
だけど[all]といいながら
Script control steps が (if, else, else if, end if, loop, exit loop, end loop, exit script, and halt script)
に限定されてるのが、なんだかなあ、です。
結局「気持ち悪い」ではすまなかったのね...
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 520.71 KiB (Peak: 525.62 KiB) ]