みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
フィールドの値を使って検索したいのですが、どのような関数を使用すれば良いのか困っています。
具体的にはやりたいことは、
Aテーブルの①フィールドでBテーブルの②フィールド中に記載されていないものを検索したいです。
どなたかご教授お願いします。
初心者ですので、説明が足りない部分があるかと思います。
ご指摘頂ければ随時補足させて頂きます。
Aテーブルの①フィールドの内容を変数へ設定
Bテーブルの②フィールドを、* で挟んだ変数で検索
対象外を表示
としてみれば良いと思いますが。
Offline
お答えありがとうございます。
自分の説明不足で申し訳ございませんが、Aテーブル①フィールドにおいて、Bテーブル②フィールドに入力されている全レコードの中から、一致しないものを検索したいということでした。
そのため、お答え頂いた方法では、検索をしているのがBテーブルになる点と、変数を指定した場合、全レコードの中からということが難しいのではないでしょうか?
理解が間違ってる部分があればご指摘お願いします。
もしかして、
Aテーブルに3レコードあって①フィールドに
みかん
りんご
ぶどう
Bテーブルに2レコードあって②フィールドに
みかん
ぶどう
とある場合にAテーブルの①フィールドが「みかん」と「ぶどう」以外(この例の場合は「りんご」)を検索
ということでしょうか?
この場合は、Bテーブルの②フィールドを値一覧にして、ループで1つずつ新規検索条件に入れて、検索後に対象外を表示、とすればできると思います。
他にもっと良い方法があるかもしれませんが。
Offline
お答えありがとうございます。
やろうとしていることはおっしゃる通りです。
わかりやすくして頂きありがとうございます。
Aテーブルに3レコードあって①フィールドに
みかん
りんご
ぶどう
Bテーブルに2レコードあって②フィールドに
みかん
ぶどう
すいか
となっていたらどうしたいのでしょう。
Offline
旅人さん
基本的にAテーブルに無いものはBテーブルにも無いと考えています。
Aテーブルにのみあって、Bテーブルにないことを考えています。
にしななさん
自分の知識不足でまだ理解できていませんが、ありがとうございます。
そのフィールドでリレーションして、
Bのレイアウト
全レコード表示
関連レコードへ移動[現在の対象レコード内の全てのレコードを照合 ; Aテーブル」
Aテーブルのスクリプトを実行
(対象外のみを表示)
Offline
でしたら①と②でリレーションしてBテーブルを全レコード表示してBから
Aテーブルに関連レコード移動(対象すべてを照合)してAで対象外のみ表示
のスクリプトでいいのでは。
Offline
あ、完全に被った・・
Offline
返答ありがとうございます。
お二方からご返答頂けたということは可能だと言うことなのでしょうが、自分の知識不足と教えて頂いたスクリプトを使用した経験もないため、理解が難しいです。
もう少し詳細な説明を頂けないでしょうか?
よろしくお願いします。
なるほど、関連レコードへ移動という手があるんですね。勉強になります。
お二人の説明の通り、まずはAテーブルの①フィールドとBテーブルの②フィールドを=でリレーションします。
スプリクトを作成して、スプリクトステップを↓の通り入力します。
レイアウト切り替え(スプリクトステップオプションでBテーブルのレイアウトを指定)
全レコードを表示
関連レコードへ移動(スプリクトステップオプションで※の通り指定)
対象外のみを表示
※関連レコードへ移動のオプション
関連レコードの取得元:A
レコードの表示に使用するレイアウト:検索結果を表示するレイアウトを指定
結果オプション:関連レコードのみを表示、現在の対象レコード内のすべてのレコードを照合、それぞれにチェックを入れる
Bのレイアウトに切り替えて全レコードを表示することによって、Bテーブルの全てのレコードが対象レコードになります。
そこから関連レコードへ移動で、現在の対象レコード内のすべてのレコードを照合するので、Bテーブルの②フィールドの値とそれぞれ同じ値を①フィールドに持つAテーブルのレコードが表示されます。
この時点で一致しないものが対象外になっているので、対象外のみを表示で、一致しないもののみ表示します。
Offline
返信が遅くなってしまい申し訳ございません。
実際にご教授頂いた内容で、スプリントを組んで見たのですが、「このレイアウトでは結果を表示できないため、この処理は完了できません。」というポップが出て、実施できませんでした。
すいません。
自分のスプリントにミスがありました。
解決できました。
ご教授頂いた皆様ありがとうございました。
Pages: 1
[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 528.15 KiB (Peak: 548.69 KiB) ]