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

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

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

You are not logged in.

Announcement

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


#1 2016-03-22 16:41:13

アテナイ人
Guest

スクリプトでand/or検索を行う方法につきまして

初めて投稿いたします。FM初心者です。

現在、受注システムを以下の環境で作ってます。
・OSX 10.11.3
・FMPA14

まず、顧客(取引先)テーブルには、顧客と仕入先の両方が登録されています(仕入先も顧客になる場合があるため(その逆もある))。
それを顧客テーブル内の「相手先区分」というフィールドを作って分けています。

さて、受注テーブル(つまり受注データ)を一覧表示した際に、顧客と仕入先を同時に表示したいため、スクリプトを使って相手先区分の「顧客」と「仕入先」をor検索(またはand検索)したい場合は、どのようにするのが宜しいのでしょうか?
(相手先区分は今後増える可能性があるので、全件表示すれば良いというのは無しでお願いします)

調べているうちに、以下のようなドキュメンを発見しました。
https://goo.gl/bfdjhw

これを読んでみたところ、例えばand検索をする場合は、スクリプトで検索を2回実行(もしくは対象レコードの絞り込み)しなくては行けない理解をしたのですが、これは正しいでしょうか?また、or検索の場合も新規条件を追加して検索実行という方法なのでしょうか?

フィールドが違う条件の場合(ドキュメントにある「東京」と「03」の場合は良く分かるのですが、同じフィールド(「相手先区分」)の場合のand検索の方法が良くわかりません。

以上、たいへん申し訳ありませんが、教えてください。よろしくお願いします。

#2 2016-03-22 17:05:54

チポ
Member

Re: スクリプトでand/or検索を行う方法につきまして

検索ですか?

受注テーブルのレコードにその受注の顧客と仕入先を表示したいのでは?


> 同じフィールド(「相手先区分」)の場合のand検索の方法が良くわかりません
ひとつのフィールドの and 検索とは?

Offline

#3 2016-03-22 17:20:38

Moz
Member

Re: スクリプトでand/or検索を行う方法につきまして

データの構造については触れずに答えると。

OR 検索については認識通り(新規条件を追加して検索)
例)「住所」フィールドに "東京" または "大阪" の場合は1個目の検索条件の「住所」フィールドに "東京"
2個目の検索条件の「住所」フィールドに "大阪" で[検索実行]で良いでしょう。

AND 検索については別々のフィールドの場合は1回の[検索実行]でできます(パフォーマンス度外視)
例)「住所」フィールドに "東京"、「電話番号」フィールドが "03" を含むレコードを検索したい場合、
「住所」フィールドに "東京"、「電話番号」フィールドに "03" で[検索実行]で良いでしょう。

同じフィールドで AND 検索の場合、2回に分けて1回目は[検索実行]、2回目は[対象レコードの絞り込み]
例)「住所」フィールドに "東京" かつ "大字" を含む場合(そんな住所あるかはしらんです)
「住所」フィールドに "東京" で[検索実行]したのち、「住所」フィールドに "大字" で[対象レコードの絞り込み]的な。

Last edited by Moz (2016-03-22 17:23:03)

Offline

#4 2016-03-22 19:51:20

アテナイ人
Guest

Re: スクリプトでand/or検索を行う方法につきまして

こんばんわ。アテナイ人です。

チポ様、MOZ様、ご教示ありがとうございます。
MOZ様のお示しになった通り、やはりその方向(1回目:検索実行、2回目:対象レコード絞り込み)が王道ということですね。
ありがとうございました。

それが明確になれば、あとは怒涛のコーディングあるのみです。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 508.8 KiB (Peak: 514.59 KiB) ]