みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルメーカー 他のテーブルを参照して複数検索

レイアウトB(テーブルB)に複数の検索をかけたいのですが、検索条件の項目がレイアウトA(テーブルA)のフィールドにあります。

#---以前の検索条件を削除するため---------
・エラー処理[オン]
・検索モードに切り替え[]
・検索実行[]
#---------------------------------
・レイアウト切り替え[レイアウトA]
・レコード/検索条件/ページへ移動[最初の]

・Loop
・コピー[レイアウトAのフィールドA-1]
・レイアウト切り替え[レイアウトB]
・検索条件を変更
・新規レコード/検索条件
・貼り付け[レイアウトBのフィールドB-1]
・検索実行
・レイアウト切り替え[レイアウトA]
・レコード/検索条件/ページへ移動[次の、最後まできたら終了]
・End loop
・レイアウト切り替え[レイアウトB]

(多少違うかも)


これで、できたのですが・・・
あまりにも非効率で、もっとスマートな記述の仕方はありませんか?

投稿日時 - 2007-02-20 23:14:43

QNo.2770301

困ってます

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

スクリプトを見る限り、「フィールドA-1」の全てが検索条件ですよね?
だとしたら、
「フィールドA-1」 = 「フィールドB-1」でリレーションして、
レイアウトBで

・検索モードに切替[]
・フィールド設定[リレーション名::フィールドA-1;"@"]
・検索実行[]

で出来ますよ。
(MacOSX10.3.9 + FMP7.0v3で検証)

投稿日時 - 2007-02-21 16:22:34

補足

すごい技ですね。

実験では出来るんですが、いざ進行中のデータベースに組み込むと出来ません。

もう少しやってみます。

投稿日時 - 2007-02-21 22:20:44

お礼

なかなか出来なくて、レイアウトBにフィールドA-1を追加しました。
・検索モード
・フィールド設定[リレーション名::フィールドA-1;"*"]

フィールド追加と、"@"を"*"にかえて,これでできました。

すごい技、ありがとうございます。

投稿日時 - 2007-02-21 22:44:56

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ファイルメーカーのバージョンはいくつですか?

投稿日時 - 2007-02-21 01:18:39

補足

Pro7.0v3です。

検索モードで各フィールドにはひとつの条件しか書けないんでしょうか?

例えばフィールド(地区)に「東京 or 大阪 or 京都」とか。
現状では、 検索条件を変更 新規レコード/検索条件 検索実行の繰返しでして。

投稿日時 - 2007-02-21 09:14:29

あなたにオススメの質問