プロが教えるわが家の防犯対策術!

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

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

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

(多少違うかも)


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

A 回答 (2件)

スクリプトを見る限り、「フィールドA-1」の全てが検索条件ですよね?


だとしたら、
「フィールドA-1」 = 「フィールドB-1」でリレーションして、
レイアウトBで

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

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

この回答への補足

すごい技ですね。

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

もう少しやってみます。

補足日時:2007/02/21 22:20
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2007/02/21 22:44

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

この回答への補足

Pro7.0v3です。

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

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

補足日時:2007/02/21 09:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す