データベース

【FileMaker Pro】複数検索してデータを絞り込むテクニック

ココに注意

簡単なデータ検索(抽出)に凄く時間を要した!

 

簡単なサンプルを準備

FileMaker 複数検索

上の様な簡単なサンプルを準備しました。

これから、商品に「リンゴ」が入って、フラグが「在庫あり」で数量が0(空白でもない)でないレコードを抽出したいと思います。

 

思ったレコードが抽出されない!?

抽出したいレコードは、ID2の、商品「リンゴ」数量「8」フラグ「在庫あり」です。

これは実験データなので少ないレコード数ですが、膨大なレコードになると、人的ミスなどで、数量を入力してなかったり、初期設定にて0が入力されずに空白だったりするケースもあるかと思います。

FileMaker 複数検索

そこで、上の様なスクリプトを組んで実行しましたが、「"*" and " ≠ 0"」が違うようで、ID7が抽出されました。

何がダメなのでしょうか?

 

「新規レコード/検索条件」で試すもダメ

一発で絞り込もうと思いましたが、ダメそうなので、2段でやってみました。

FileMaker 複数検索

目的のレコードも抽出されたのですが、数量0も、なぜだか検索されてしまいました。

何がだめなのでしょうか?

 

「対象レコードの絞り込み」でもダメ

FileMaker 複数検索

ココがダメ

どうも、0でない物を絞るのがダメのようです

次に、"0 <"のような0以上に考えを変えて実行しましたが、何か設定方法が違うようです。

そもそも除外するという方法に問題があるようです。

 

「レコードを対象外に」という方法

対象レコードを絞り込んで抽出する方法しか頭にありませんでしたが、FileMakerPro19では、逆の発想で、「レコードを対象外に」するという方法があるようです。

FileMaker 複数検索

ココがポイント

この「レコードを対象外に」という方法で除外するテクニックを学びました!

こんな簡単な事に凄い時間をとられたので、備忘録として忘れないようにしたいと思います。

 

絞り込んだデータに検索条件を加える

 

現在絞り込んで、ID2だけが出るようにしましたが、レコードID8と9を追加して今回のスクリプトを動かしてみました。

もちろん、抽出レコードは変化ありませんが、ここから、条件を緩和して、値引きフィールドの内容を、「あり」だけを検索してみたいと思います。

FileMaker 複数検索

つまり、「商品」リンゴ、「数量」空欄と0以外、「フラグ」在庫ありに抽出したレコードに、「値引き」ありの条件を加えた時の実験になります。

FileMaker 複数検索

条件で「値引き」ありのレコードが表示されるようになりました。

 

ちなみに、ID5のレコード値引きフィールドにも「あり」を入れてスクリプトを実行すると、下図のようになりました。

FileMaker 複数検索

前半のスクリプトで抽出したレコードの意味がなくなってしまいました。

「対象レコードの拡大」から「対象レコードの絞り込み」に帰ると、条件緩和検索しようとした時点で、レコードが1件しかないので表示も1件という動作になりました。

FileMaker 複数検索

 

慣れないと理解に苦しむ動作がありますが、これは使って慣れるしかないですね。

 

-データベース
-, , , , , ,

Translate »

© 2024 PCTips