みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM13/Win10です。
現在
リスト.fmp12
データ.fmp12
の2つのファイルがあり、
((リスト.fmp12のスクリプトA))
コピー リスト.IDフィールド
スクリプト実行(レコード件数取得:ファイル『データ』]
↓
((データ.fmp12のレコード件数取得))
検索モード切り替え
貼り付け データ.IDフィールド
検索実行
フィールド設定[リスト:件数フィールド:Get(対象レコード数)]
↓
元のスクリプトAに戻る
といった処理を行っています。
ですが、スクリプトデバッガで確認した所 エラー:301 別のユーザがレコードを使用中です のエラーが表示され、(使用者は私一人です)
件数が正しく取得できません(データビューアで確認した所、テーブルが見つかりませんと出てきてしまいます。)
この場合、どの辺りが原因で引っかかっているのでしょうか?
Offline
疑問
1:そもそもなんでファイルが分かれている?
同じファイルでテーブル分けたらスクリプトの動きも進歩うるになると思う
2:下記のところがわからない
>フィールド設定[リスト:件数フィールド:Get(対象レコード数)]
>↓
>元のスクリプトAに戻る
ここのフィールド設定はデータファイルの方ですね?
この部分を元のファイル(リスト)に帰って作動しているスクリプトに渡すために
変数を設定にするか
リストで新たに作動させているのなら スクリプトを引き継ぐ際に
スクリプト変数でデータを引き渡すべきかと思うけど
書かれたスクリプトが異動先(データ)で終わっているので
どう処理しているかで変わるような気がする。
Last edited by シャチ (2017-03-01 22:19:03)
Offline
コピー リスト.IDフィールド
で、リストファイルのレコードを捕まえていますね。そのままの状態が続きますので、そのレコードは、自ウィンドウ以外に対して排他がかかります。
((リスト.fmp12のスクリプトA))
コピー リスト.IDフィールド
スクリプト実行(レコード件数取得:ファイル『データ』]
フィールド設定[リスト:件数フィールド:Get(スクリプトの結果)]
↓
((データ.fmp12のレコード件数取得))
検索モード切り替え
貼り付け データ.IDフィールド
検索実行
現在のスクリプト終了[Get(対象レコード数)]
としてみれば如何でしょうか。
Offline
リストファイルから見てデータファイルの同じIDのレコード数を得たい。
ですよね?
ならば、IDでリレーションして、計算フィールド
Count ( データ::ID )
でいいのでは。
スクリプト不要でしょう。
Offline
コピー リスト.IDフィールド
で、リストファイルのレコードを捕まえていますね。そのままの状態が続きますので、そのレコードは、自ウィンドウ以外に対して排他がかかります。
フィールド設定[リスト:件数フィールド:Get(スクリプトの結果)]、
現在のスクリプト終了[Get(対象レコード数)]を使用したスクリプトで上手く取得出来ることを確認できました。有難う御座いました。
チポさんの
>計算フィールド Count ( データ::ID )
この方法でも取得出来るとは思いますが、今回は既存のスクリプトを少し変える形で行うことにいたしました。ありがとうございます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 509.13 KiB (Peak: 515.9 KiB) ]