2018年7月7日土曜日

デモファイル ダウンロード

前回の「マーカー付 スペース区切り複数ワード検索」
のファイル

動作を確かめるためにデータ入力のアカウント状態での
ダウンロードをできるようにしました。
--------------------
[データ入力のみ]
アカウント user
PASS          123

ダウンロード
--------------------

完全アクセスのアカウント公開はしませんが
コメントかメールにて対応します。

2018年7月5日木曜日

実験 マーカー付 スペース区切り複数ワード検索

マーカー付 ひとつの検索フィールドで複数のワードをスペースで区切って検索する

条件
①Enterで検索(マーカー付)
②Enter後も続けてスペースが入るように文字の後にカーソルが消えない
③1バイト文字はEnterを押さなくても、キー動作で検索
④2バイト文字(日本語)はEnterで発動
⑤③と④は入力時インクリ、デクリ発動
⑥キーワードの数に制限をかけない
⑦キーワードが発動する度にマーカーを付ける
⑧データー量が増えすぎてパフォーマンスが下がった時に
題名の「複数ワードをスペース区切りで検索する」を残し、
若干重い②③④⑤を外しても使えるようにする。


※クイック検索とは関係ありません。



ということで、FileMaker らしからぬ検索をしてみましょう。
スクリプトとかは、コメントによってファイルをダウンロードできるようにします。
(最後に説明)


実は、IT業界の後に外食系のプロデューサーをしておりまして(笑)その時の洋菓子の原材料が1800件くらいあったので使ってます。


上の検索Barの中に検索ワードを入れるという仕様です。


「オレンジ」Enterで検索します。
ほら、材料名にもメーカーにもコメントにも「オレンジ」というワードにマーカーが付きます!(マーカー大好き!)
通常の検索では検索後にはカーソールが消えているはずです。しかし、画像では見えませんが、「オレンジ」の検索の後に「|」のカーソールが残っています。カーソールを維持させています。


次に、スペースを入れます。「 」
「フランス」というワードを追加します。



前のオレンジの件数が1821件中、52件ありました。次の「フランス」で16件に絞り込まれたという事です。マーカーは新しいワードにスポットします。
同じようにスペースを入れて次々にワードで絞り込んでいけます。


例えば、部品屋さんなど型式検索を行う事があると思うのですが、今まではメーカーなどの大分類、使用箇所など中分類、グレードなど小分類で別々のフィールドで絞込されていたことがあったと思いますが、これは早いです。
しかもフィールド関係なしに絞り込まれますので、一度材料名で絞込んだあとに、内容で絞込んで、再び材料名で絞られる!?という働きもしています。


⇐これが、「オレンジ」の後に「マ」を打込んだ結果です。「オレンジ」だけのときは材料名のところにスポットが多くありました、「マ」を入れても材料名にスポットが当たっています。

これは、材料名の検索の後に、再び材料名の検索をしていることになります。

ワードが追加されるたびに6つのフィールドが検索されているということです。











更に数字の40を入れて2件に絞り込まれました。
1バイト文字はEnterキーを押さなくても検索されますので、無い文字の度に「違うよ!」みたいなダイアログが出ます。
めんどくさいと思うでしょうが、業種業態によって半角英数のような1バイト文字の品名や型式が多い場合などは、そのほうが便利です。


このデモファイルは材料id以外の6つを検索対象としていますが、テキストと金額や単位は混在すると目的から離れてしまうので、別フィールドに分けた方がいいかもしれません。



検索フィールドをBackspaceで削っていくと、対象のレコードが増えていきます。
複数のワードなのにインクリメント(文字を足すと・・・)、デクリメント(文字を削ると・・・)検索が動いていることになります。



検索を止めたい時は、適当な文字を追加します(笑)
そうするとダイアログが出ますので、そのままEnterを押すと検索フィールドの文字が消えます。




全レコードを表示したい場合は「*」Enterで全レコードが表示されます。




データを表示しないようにするには適当な文字を入力し、ダイアログを出して
Enterで非表示にできます。




この検索システムはいたって構造がシンプルです。

複雑な事はしていませんし、カスタム関数もプラグインも使っていません。
テーブルも1つでTOも自己リレーションも使いません。
OR検索と、次のワードをOR検索で絞り込む事でAND検索のような働きに
させています。インクリもデクリも2行スクリプトです。カーソール維持も
そんなに難しくはありません。

スクリプトは3つで構成されています。
完成しているファイルは常に検索が動く状態なので5万件を超えたくらいから
動きが鈍くなります。そこで、2つのスクリプトを止めると100万件でも
サクサク動くようになります。(カーソール維持とインクリ・デクリが重くなります)


今回は中身は公開しませんが、コメントを頂けましたらメール添付にてSpace_Sファイルのダウンロードができるようにさせていただきます。



※このサイトの過去(2018年以前)のサンプルのダウンロードは終了させていただきます。どうしてもという方は、コメントを頂ければ、内容を再確認し、メールに添付させていただきます。過去に公開ダウンロードを行っていたのですが、現在は公開ダウンロードは中止しています。








最適化してますか?

 まるで入院していた患者が退院して元気に復活するような機能。 クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は 最適化のメンテしときます。 データがピチピチしちゃいますよぅ。