- 締切済み
ファイルメーカ 他のテーブルの全フィールドが検索条件
2年ほど前にも質問したのですが、完璧に忘れてしまいました。(質問番号:2770301) Ver7_Win 質問------------------ レイアウトB(テーブルB)に複数の検索をかけたいのですが、検索条件の項目がレイアウトA(テーブルA)のフィールドにあります。 スマートな記述の仕方はありませんか? 答え------------------ スクリプトを見る限り、「フィールドA-1」の全てが検索条件ですよね? だとしたら、 「フィールドA-1」 = 「フィールドB-1」でリレーションして、 レイアウトBで ・検索モードに切替[] ・フィールド設定[リレーション名::フィールドA-1;"@"] ・検索実行[] で出来ますよ。 ---------------------- ここで、「リレーション名::フィールドA-1」とはどういうことでしょうか? リレーションに名前って付いているんですか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chieffish
- ベストアンサー率44% (1149/2554)
>テーブルBから検索でなく、テーブルAから検索です(検索条件はAにある)。 そのつもりで書きましたけど。
- chieffish
- ベストアンサー率44% (1149/2554)
テーブルAの対象レコードの同じフィールド値すべてをテーブルBから検索するのでしたら 「フィールドA-1」 = 「フィールドB-1」でリレーションして スクリプトは 「関連レコードに移動」の1個でできます。ただし完全一致が条件です。 「関連レコードに移動」のオプション設定は 関連レコードの取得元----テーブルB(リレーション名というか相手テーブル名) レコードの表示に使用するレイアウト---テーブルB 関連レコードのみ表示/現在の対象レコード内のすべてのレコードを照合
補足
うまくできません。 >テーブルAの対象レコードの同じフィールド値すべてをCから検索するのでしたら テーブルBから検索でなく、テーブルAから検索です(検索条件はAにある)。 「関連レコードに移動」は使ったことがなく、ちょっと勉強してみます。
補足
ありがとうございます。 「関連レコードに移動」の使い方がわかりました。 >そのつもりで書きましたけど。 すみませんでした。わたし的には、逆でした。 わたし的なテーブルBの検索されるフィールドが、タイプ「計算」の非保存になっているためか、エラーになります。 タイプを「数字」にして実験すると、期待どうりの結果となりました。