みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
社内のファイルメーカーサーバーに入っているファイル同士をリレーション組みたいのですがご教授お願いします。
ローカルでリレーション組んでからサーバーにアップロードしました。
ファイルAのテーブル1::電話番号=ファイルBのテーブル1::電話番号
ファイルAでのスクリプトで
If[営業履歴::営業結果="アポ禁"]
変数を設定[$ban; 値:テーブル1::電話番号]
ファイルを開く[「ファイルB」]
新規レコード/検索条件
フィールド設定[テーブル1::電話番号; $ban]
End If
としているのですが、
テーブル1::電話番号に$banが貼り付けられません。
これはなぜでしょうか?
よろしくお願い致します。
OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。
Offline
「営業履歴」テーブルについての言及がないのですが、Ifは成立すると仮定した場合です。
[ファイルを開く]でファイルBを開いたとしても続く処理はファイルAで実行されます。
[新規レコード/検索条件]はファイルAの現在のレイアウト(ファイルAの「テーブル1」)で実行されます。
続く[フィールド設定]の際に適切なフィールド指定が行われていない場合エラー101(レコードが見つかりません)となり正しく実行されません。
リレーションが成立していればリレーション先のファイルB「テーブル1::電話番号」にフィールド設定されますが、
ファイルAの「テーブル1」には[新規レコード/検索条件]で新しいレコードが作成されているので、
リレーションが成立できずファイルB「テーブル1::電話番号」フィールドに値設定を行えません。
色々方法はありますが
ファイルAにファイルB「テーブル1」のTOに基づくレイアウトを作成して
そのレイアウトに[レイアウト切り替え]してから[新規レコード/検索条件]してみては如何でしょう?
Offline
> ファイルAにファイルB「テーブル1」のTOに基づくレイアウトを作成して
もちろんこれでできるのですが、ちょっと高度な考え方ですね。
ごく平凡に考えれば、
ファイルBのウインドに移ってそちらでスクリプトを動かすことになります。
その方法は、
ファイルAのスクリプトで
スクリプト実行[ファイルBのスクリプト]
とすればファイルBのスクリプトが実行されます。
その際、
変数では値を渡すことができませんので、
スクリプト実行ステップのオプション
スクリプトパラメータ
で値を設定して、
ファイルBのスクリプトの中で
Get ( スクリプト引数 )
でその値を引き出すことができます。
Offline
Moz様 チポ様
ありがとうございます。
Moz様のはちょっと難しそうなので
チポ様のでやってみようと思っています。
変数では値を渡すことができませんので、
スクリプト実行ステップのオプション
スクリプトパラメータ
で値を設定して、
ファイルBのスクリプトの中で
Get ( スクリプト引数 )
でその値を引き出すことができます。
↑↑
ここ詳しく教えて下さい。
スクリプトパラメータでどういう値を設定すればよいのでしょうか?
OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。
Offline
渡したい値は
テーブル1::電話番号
ですよね。
パラメータの「編集」をクリックして、
計算式の指定で上記のフィールドを指定します。
Offline
なるほど、やってみます。
ありがとうございます!
OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 559.25 KiB (Peak: 582.95 KiB) ]