初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-01-14 12:52:31

はつ
Guest

フィールド値で検索

フィールドの値を使って検索したいのですが、どのような関数を使用すれば良いのか困っています。

具体的にはやりたいことは、
Aテーブルの①フィールドでBテーブルの②フィールド中に記載されていないものを検索したいです。

どなたかご教授お願いします。
初心者ですので、説明が足りない部分があるかと思います。
ご指摘頂ければ随時補足させて頂きます。

#2 2015-01-14 13:45:01

Shin
Member

Re: フィールド値で検索

Aテーブルの①フィールドの内容を変数へ設定
Bテーブルの②フィールドを、* で挟んだ変数で検索
対象外を表示
としてみれば良いと思いますが。

Offline

#3 2015-01-14 16:11:48

はつ
Guest

Re: フィールド値で検索

お答えありがとうございます。

自分の説明不足で申し訳ございませんが、Aテーブル①フィールドにおいて、Bテーブル②フィールドに入力されている全レコードの中から、一致しないものを検索したいということでした。

そのため、お答え頂いた方法では、検索をしているのがBテーブルになる点と、変数を指定した場合、全レコードの中からということが難しいのではないでしょうか?

理解が間違ってる部分があればご指摘お願いします。

#4 2015-01-14 16:13:06

にしなな
Member

Re: フィールド値で検索

もしかして、

Aテーブルに3レコードあって①フィールドに
みかん
りんご
ぶどう

Bテーブルに2レコードあって②フィールドに
みかん
ぶどう

とある場合にAテーブルの①フィールドが「みかん」と「ぶどう」以外(この例の場合は「りんご」)を検索
ということでしょうか?

この場合は、Bテーブルの②フィールドを値一覧にして、ループで1つずつ新規検索条件に入れて、検索後に対象外を表示、とすればできると思います。
他にもっと良い方法があるかもしれませんが。

Offline

#5 2015-01-14 16:19:21

はつ
Guest

Re: フィールド値で検索

お答えありがとうございます。

やろうとしていることはおっしゃる通りです。
わかりやすくして頂きありがとうございます。

#6 2015-01-14 16:27:08

旅人
Member

Re: フィールド値で検索

Aテーブルに3レコードあって①フィールドに
みかん
りんご
ぶどう

Bテーブルに2レコードあって②フィールドに
みかん
ぶどう
すいか
となっていたらどうしたいのでしょう。

Offline

#7 2015-01-14 16:33:15

はつ
Guest

Re: フィールド値で検索

旅人さん

基本的にAテーブルに無いものはBテーブルにも無いと考えています。
Aテーブルにのみあって、Bテーブルにないことを考えています。

#8 2015-01-14 16:35:12

はつ
Guest

Re: フィールド値で検索

にしななさん

自分の知識不足でまだ理解できていませんが、ありがとうございます。

#9 2015-01-14 16:54:17

チポ
Member

Re: フィールド値で検索

そのフィールドでリレーションして、

  Bのレイアウト
  全レコード表示
  関連レコードへ移動[現在の対象レコード内の全てのレコードを照合 ; Aテーブル」
  Aテーブルのスクリプトを実行
   (対象外のみを表示)

Offline

#10 2015-01-14 16:56:27

旅人
Member

Re: フィールド値で検索

でしたら①と②でリレーションしてBテーブルを全レコード表示してBから
Aテーブルに関連レコード移動(対象すべてを照合)してAで対象外のみ表示
のスクリプトでいいのでは。

Offline

#11 2015-01-14 16:57:18

旅人
Member

Re: フィールド値で検索

あ、完全に被った・・

Offline

#12 2015-01-14 17:33:40

はつ
Guest

Re: フィールド値で検索

返答ありがとうございます。

お二方からご返答頂けたということは可能だと言うことなのでしょうが、自分の知識不足と教えて頂いたスクリプトを使用した経験もないため、理解が難しいです。
もう少し詳細な説明を頂けないでしょうか?
よろしくお願いします。

#13 2015-01-14 18:21:25

にしなな
Member

Re: フィールド値で検索

なるほど、関連レコードへ移動という手があるんですね。勉強になります。


お二人の説明の通り、まずはAテーブルの①フィールドとBテーブルの②フィールドを=でリレーションします。

スプリクトを作成して、スプリクトステップを↓の通り入力します。

レイアウト切り替え(スプリクトステップオプションでBテーブルのレイアウトを指定)
全レコードを表示
関連レコードへ移動(スプリクトステップオプションで※の通り指定)
対象外のみを表示


※関連レコードへ移動のオプション
関連レコードの取得元:A
レコードの表示に使用するレイアウト:検索結果を表示するレイアウトを指定
結果オプション:関連レコードのみを表示、現在の対象レコード内のすべてのレコードを照合、それぞれにチェックを入れる


Bのレイアウトに切り替えて全レコードを表示することによって、Bテーブルの全てのレコードが対象レコードになります。
そこから関連レコードへ移動で、現在の対象レコード内のすべてのレコードを照合するので、Bテーブルの②フィールドの値とそれぞれ同じ値を①フィールドに持つAテーブルのレコードが表示されます。
この時点で一致しないものが対象外になっているので、対象外のみを表示で、一致しないもののみ表示します。

Offline

#14 2015-01-19 11:55:49

はつ
Guest

Re: フィールド値で検索

返信が遅くなってしまい申し訳ございません。

実際にご教授頂いた内容で、スプリントを組んで見たのですが、「このレイアウトでは結果を表示できないため、この処理は完了できません。」というポップが出て、実施できませんでした。

#15 2015-01-19 12:01:04

はつ
Guest

Re: フィールド値で検索

すいません。

自分のスプリントにミスがありました。
解決できました。
ご教授頂いた皆様ありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 528.15 KiB (Peak: 548.69 KiB) ]