みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM12 アドバンスドを使っています。
Aフィールドの中で、キーワードを複数検索したいのですが、
どのような方法が簡単でしょうか。
1000レコードあるうち、Aフィールドに250件ほどキーワードが含まれているレコードを絞り込み、
Bフィールドを一括置き換えでデータを変更したいと考えています。
検索キーワードが少ない場合はいつも、新規検索条件で対応していましたが、
検索したいキーワードが250件ほどありますので、
できれば簡単な方法をご教授願いたいです。
検索ワードは下記のように改行してデータを持っています。
検索ワード
1234563
2387652
9412355
など・・・
どうかよろしくお願いします。
Length(A)=Length(Evaluate("Substitute(A;[" & Substitute(Quote(検索ワード);"\¶";"\";\"\"];[\"") & ";\"\"])"))
これを0で検索
Length(A)=Length(Evaluate("Substitute(A;[" & Substitute(Quote(検索ワード);"\¶";"\";\"\"];[\"") & ";\"\"])"))
これを0で検索
ありがとうございます。
いただいた式の中で、「検索ワード」とありますが、下記のように設定するとエラーになります。
Length(A)=Length(Evaluate("Substitute(A;[" & Substitute(Quote(1234563
2387652
9412355);"\¶";"\";\"\"];[\"") & ";\"\"])"))
どのように設定すればよいでしょうか?
よろしくお願いします。
「検索ワード」はフィールド名ですが。
フィールド(グローバル)にするか、文字列中の改行は改行するんでなく改行記号¶を使います。
250個もあるんで式に直接書かない方がいいでしょう。
計算フィールド作るより、スクリプトのループで計算結果が1のレコードを除外してった方がいいかなあ。
> 検索ワードは下記のように改行してデータを持っています
1レコードのテーブルを作って、そこにこれを入力。
リレーションの関連レコードへ移動で、
対象レコードにできますね。
Offline
「Aフィールドの中で」って、部分一致てことじゃないのかな。
検索するのがキーワードだから、Aは文章なのかと思いましたけど。
そういうことか、、
250件を250レコードにして、部分一致のリレーションも考えられるけれど、
余りお勧めではないですね ;;
検索で、
対象レコードの拡大
を250回繰り返す。
スクリプト、もたつくかな?
Offline
すみません、補足します。
Aフィールドの値は7桁の数字で、レコード数は1000あります。
その中で、Aフィールドが下記の内容のものを絞り込み検索を行いたいというのが意図となります。
■検索ワード
1234567
2456666 ・・・など250件。
絞り込み検索を行った後、該当レコードの別のフィールドを一括でデータ変更を行いたいのです。
どのように行えばよいでしょうか。
皆様何度もすみません。
部分一致じゃないから、「リレーションの関連レコードへ移動」でいいですよ。
部分一致じゃないから、「リレーションの関連レコードへ移動」でいいですよ。
ありがとうございます。
関連レコードへ移動の件、承知いたしました。
検索用のテーブルを作成し、関連レコードを作成してみます。
その場合、250レコード全てインポート等で作成する必要がありますでしょうか。
できれば、今後も色んなフィールドの複数レコード検索で使用したいので、
簡単に検索できるようにしたいのですが。。。
たびたび申し訳ありません。
1レコードの一つのフィールドで大丈夫ですよ。
タイプをテキストにそろえないとダメかな??
Offline
1レコードの一つのフィールドで大丈夫ですよ。
タイプをテキストにそろえないとダメかな??
ありがとうございます。
先ほど、色んなフィールドに使いたいと書きましたが、
関連フィールドへ移動でしたら、関連テーブルや関連フィールドの設定を都度設定しないといけないので、
「簡単に」とはいかないですねww
テキストにするということは、数字7桁をテキスト7文字に変更し、つなぎは「¶」を入れなければいけないということでしょうか。
現状
250件は改行されているのですよね。
数字フィールドでは改行できませんから、
テキストフィールドとして、250行入力します。
そうすると
元テーブルのAフィールドが数字だと、
リレーションの照合キーのタイプ他揃いませんよね。
それでもいいかと思いますが、
照合がうまく行かなければ、
元テーブルの方をテキストに変更するか、
変更がマズければ、計算フィールドテキストタイプを作ってそこへ入力します。
> 色んなフィールドに使いたいと書きましたが
それぞれとリレーションしておけばいいのでは。
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 528.16 KiB (Peak: 548.7 KiB) ]