• ベストアンサー

ファイルメーカで「コピー」スクリプト

ファイルメーカPro 4.1でスクリプトを定義しようとしています。 1. 関連レコード内のフィールドを指定してコピー 2. 現在のファイル内のフィールドを指定して貼り付け というステップを定義すると、現在のファイル内の当該レイアウト上に別途、「コピー元のフィールドをそのまま配置」しておいた場合に限りうまく機能し、それ無しでは、1. のコピーの段階が正しく行われない(クリップボードに変化なし)ようです。貼り付けの段階は正しく行われているようですが。。 これはバグでしょうか? それともスクリプトの定義の仕方に問題があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • bucyo
  • ベストアンサー率55% (128/229)
回答No.2

まず、関連ファイルでコピーしたいフィールド値が表示されるように検索します。その後コピーするというところまでをスクリプトで組みます。 検索モードに切り替え *検索内容はわからないのでご自身で 検索実行 コピー(内容を選択、フィールドを指定) ここまでが関連ファイルで組むスプリクトです。 現在のファイルでは スクリプト実行(外部スプリクト) ---ここで先ほど作ったスプリクトを選びます。 ペースト(フィールド選択) となります。

masahiro1010
質問者

お礼

ありがとうございます。 早速やってみます。 とても助かりました!!

その他の回答 (1)

  • bucyo
  • ベストアンサー率55% (128/229)
回答No.1

こんにちは。 まず、「1」のスクリプト実行時に関連フィールドが開かれているとしていくつかのレコードがあると思いますのでどのレコードの値をコピーするのかということになります。その関連レコードのフィールドを配置しているときに上手くコピーできるのはその値が決まっているからです。(フィールド値) 例えば顧客番号というフィールドがあった場合に数千、数百というレコード数になりますがこの顧客番号の値を決定するためには検索するなりリレーションで現在のファイルにフィールドを配置し表示する必要があります。上手くコピーできないのはレコードが複数あってフィールド値が決定できないためでしょう。ですから現在のファイルにフィールドを配置しないのであれば関連ファイルで一度スクリプトを組んで検索した後にフィールド値をコピーしてみてください。その際は現在のファイルから外部スクリプトを使うと良いでしょう。

masahiro1010
質問者

補足

ご回答ありがとうございます。 私がまだ初心者なもので、具体的に「関連ファイルで定義すべきスクリプトの内容」や、「外部スクリプトを使う方法」がよく判らないレベルなのですが、もしもよろしければ詳しく教えて頂けますでしょうか? あつかましく御願いしてすいません。