前回の「マーカー付 スペース区切り複数ワード検索」
のファイル
動作を確かめるためにデータ入力のアカウント状態での
ダウンロードをできるようにしました。
--------------------
[データ入力のみ]
アカウント user
PASS 123
ダウンロード
--------------------
完全アクセスのアカウント公開はしませんが
コメントかメールにて対応します。
2018年7月7日土曜日
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年以前)のサンプルのダウンロードは終了させていただきます。どうしてもという方は、コメントを頂ければ、内容を再確認し、メールに添付させていただきます。過去に公開ダウンロードを行っていたのですが、現在は公開ダウンロードは中止しています。
条件
①Enterで検索(マーカー付)
②Enter後も続けてスペースが入るように文字の後にカーソルが消えない
③1バイト文字はEnterを押さなくても、キー動作で検索
④2バイト文字(日本語)はEnterで発動
⑤③と④は入力時インクリ、デクリ発動
⑥キーワードの数に制限をかけない
⑦キーワードが発動する度にマーカーを付ける
⑧データー量が増えすぎてパフォーマンスが下がった時に
題名の「複数ワードをスペース区切りで検索する」を残し、
若干重い②③④⑤を外しても使えるようにする。
※クイック検索とは関係ありません。
ということで、FileMaker らしからぬ検索をしてみましょう。
スクリプトとかは、コメントによってファイルをダウンロードできるようにします。
(最後に説明)
上の検索Barの中に検索ワードを入れるという仕様です。
「オレンジ」Enterで検索します。
ほら、材料名にもメーカーにもコメントにも「オレンジ」というワードにマーカーが付きます!(マーカー大好き!)
通常の検索では検索後にはカーソールが消えているはずです。しかし、画像では見えませんが、「オレンジ」の検索の後に「|」のカーソールが残っています。カーソールを維持させています。
次に、スペースを入れます。「 」
「フランス」というワードを追加します。
前のオレンジの件数が1821件中、52件ありました。次の「フランス」で16件に絞り込まれたという事です。マーカーは新しいワードにスポットします。
同じようにスペースを入れて次々にワードで絞り込んでいけます。
例えば、部品屋さんなど型式検索を行う事があると思うのですが、今まではメーカーなどの大分類、使用箇所など中分類、グレードなど小分類で別々のフィールドで絞込されていたことがあったと思いますが、これは早いです。
しかもフィールド関係なしに絞り込まれますので、一度材料名で絞込んだあとに、内容で絞込んで、再び材料名で絞られる!?という働きもしています。
⇐これが、「オレンジ」の後に「マ」を打込んだ結果です。「オレンジ」だけのときは材料名のところにスポットが多くありました、「マ」を入れても材料名にスポットが当たっています。
これは、材料名の検索の後に、再び材料名の検索をしていることになります。
ワードが追加されるたびに6つのフィールドが検索されているということです。
1バイト文字はEnterキーを押さなくても検索されますので、無い文字の度に「違うよ!」みたいなダイアログが出ます。
めんどくさいと思うでしょうが、業種業態によって半角英数のような1バイト文字の品名や型式が多い場合などは、そのほうが便利です。
このデモファイルは材料id以外の6つを検索対象としていますが、テキストと金額や単位は混在すると目的から離れてしまうので、別フィールドに分けた方がいいかもしれません。
検索フィールドをBackspaceで削っていくと、対象のレコードが増えていきます。
複数のワードなのにインクリメント(文字を足すと・・・)、デクリメント(文字を削ると・・・)検索が動いていることになります。
検索を止めたい時は、適当な文字を追加します(笑)
そうするとダイアログが出ますので、そのままEnterを押すと検索フィールドの文字が消えます。
全レコードを表示したい場合は「*」Enterで全レコードが表示されます。
データを表示しないようにするには適当な文字を入力し、ダイアログを出して
Enterで非表示にできます。
この検索システムはいたって構造がシンプルです。
複雑な事はしていませんし、カスタム関数もプラグインも使っていません。
テーブルも1つでTOも自己リレーションも使いません。
OR検索と、次のワードをOR検索で絞り込む事でAND検索のような働きに
させています。インクリもデクリも2行スクリプトです。カーソール維持も
そんなに難しくはありません。
スクリプトは3つで構成されています。
完成しているファイルは常に検索が動く状態なので5万件を超えたくらいから
動きが鈍くなります。そこで、2つのスクリプトを止めると100万件でも
サクサク動くようになります。(カーソール維持とインクリ・デクリが重くなります)
今回は中身は公開しませんが、コメントを頂けましたらメール添付にてSpace_Sファイルのダウンロードができるようにさせていただきます。
※このサイトの過去(2018年以前)のサンプルのダウンロードは終了させていただきます。どうしてもという方は、コメントを頂ければ、内容を再確認し、メールに添付させていただきます。過去に公開ダウンロードを行っていたのですが、現在は公開ダウンロードは中止しています。
登録:
投稿 (Atom)
最適化してますか?
まるで入院していた患者が退院して元気に復活するような機能。 クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は 最適化のメンテしときます。 データがピチピチしちゃいますよぅ。
-
その前に。。 シリアルNOの初期値化と欠番 のダウンロードを再開しました。 が、注意が必要です。 SerialIncrement ( "001" ; Max ( シリアル初期化_自己リレ::シリアル )) のように自己リレをして計算...
-
ラベルシールって結構使ってますよね。 FileMakerで開始位置を設定する方法ってのは、デフォルトには無いので自分で作るしかないんです。 方法はいろいろあるかとは思うのですが、あまり難しくする必要はないのかと思います。 対象レコードに対し 必要な数の...
-
いろんな局面でシリアルコードが使われていますが 特に入力と明細など親子関係を持つ伝票NOや、病院などの外来で日によって詳細が増えるもの、弁護士さんなら案件Noなどが対象かと思うのですが、コード番号をKeyにしてデータベースを処理される事が多いかと思います。 (顧客マスタや商品...