• 締切済み

ファイルメーカ 他のテーブルの全フィールドが検索条件

2年ほど前にも質問したのですが、完璧に忘れてしまいました。(質問番号:2770301) Ver7_Win 質問------------------ レイアウトB(テーブルB)に複数の検索をかけたいのですが、検索条件の項目がレイアウトA(テーブルA)のフィールドにあります。 スマートな記述の仕方はありませんか? 答え------------------ スクリプトを見る限り、「フィールドA-1」の全てが検索条件ですよね? だとしたら、 「フィールドA-1」 = 「フィールドB-1」でリレーションして、 レイアウトBで ・検索モードに切替[] ・フィールド設定[リレーション名::フィールドA-1;"@"] ・検索実行[] で出来ますよ。 ---------------------- ここで、「リレーション名::フィールドA-1」とはどういうことでしょうか? リレーションに名前って付いているんですか?

みんなの回答

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

>テーブルBから検索でなく、テーブルAから検索です(検索条件はAにある)。 そのつもりで書きましたけど。

situmonnsya
質問者

補足

ありがとうございます。 「関連レコードに移動」の使い方がわかりました。 >そのつもりで書きましたけど。 すみませんでした。わたし的には、逆でした。 わたし的なテーブルBの検索されるフィールドが、タイプ「計算」の非保存になっているためか、エラーになります。 タイプを「数字」にして実験すると、期待どうりの結果となりました。

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

テーブルAの対象レコードの同じフィールド値すべてをテーブルBから検索するのでしたら 「フィールドA-1」 = 「フィールドB-1」でリレーションして スクリプトは 「関連レコードに移動」の1個でできます。ただし完全一致が条件です。 「関連レコードに移動」のオプション設定は 関連レコードの取得元----テーブルB(リレーション名というか相手テーブル名) レコードの表示に使用するレイアウト---テーブルB 関連レコードのみ表示/現在の対象レコード内のすべてのレコードを照合

situmonnsya
質問者

補足

うまくできません。 >テーブルAの対象レコードの同じフィールド値すべてをCから検索するのでしたら テーブルBから検索でなく、テーブルAから検索です(検索条件はAにある)。 「関連レコードに移動」は使ったことがなく、ちょっと勉強してみます。