2015年1月11日日曜日

FileMaker  ExplodeToMultikey ( string ) 関数

ExplodeToMultikey ( string )

このカスタム関数はどこにも掲載されないくらい、日本ではあまり使われていませんが、使い方によっては、たぶん使える関数です。
最近バージョンが変わっても関数の事ぜんぜん気にかけていなかったので、デフォルトで持っているのものと思ったら、カスタム関数でした。だめですねー僕は。



フィールドが「名前」であれば、ExplodeToMultikey ( string )を使って名前の先頭文字を計算式によってインデックスKeyにしてしまおうというもの。それを上手に使っているのが、サイト


別ウィンドウを表示させることが流行らない日本では違和感のある作りですが・・・

1バイトのアルファベット文字を入力するとリスト上(ポータル)で、文字数によってストレスなく絞り込まれて表示するというもの。2バイト日本語の場合は、Enterキーを押さなければ絞り込まれないというストレスがありますねー。


ちょっと、カスタマイズ


この中にアルファベットを入れてみる。


↑外人さんが多そうな「J」を入れてみた。



↑次にエンターキーを押さずに「e」を入れると、ストレスなくポータル内で絞り込まれる。



↑ 次は日本語。「ま」を入れてみた。
やはり、エンターキーを押さないと表示されない。



↑次に「い」を入力して、エンターキー。
アルファベットは、エンターキーを押さなくても絞り込まれるだけに、日本語入力後のエンターキーは、やはりストレスを感じるねー。


そういうこともあって、日本人名を入れてフィールドを追加したんですが、普段からローマ字入力をしているので、それをそのまま検索に活かせばいいじゃないか!と思い、ストレスの無い絞り込み検索を実現させました。


↑データ入力が大変なので、デモ用に若干入力したAの段「ai」と入れてみました。
まったくストレスなく絞り込まれます。


↑ 次に「k」を追加。 上手く絞り込まれました。
エンターキーを押すというのは、どうしても改行のミスを誘発させてしまうので、得意先マスタなどは、かな検索もいいのですが、ローマ字検索を有効に使えば、なんだか、データベースを使ってる気になれるかもしれません。

品番検索とか郵便番号検索とかにもいいかもですね


(FileMakerPro12以上が必要です)








2 件のコメント:

  1. なんだ、なんだ!?

    つーか、カスタム関数でした。 それじゃ、誰も分かるわけないよねー
    とりあえず、2つUP


    ExplodeToMultikey

    Case (

    WordCount ( string ) > 1 ;

    ExplodeToMultikey ( LeftWords ( string ; WordCount ( string ) - 1 ) ) & "¶" &
    FieldBeginsWith ( string ) & "¶" ;

    FieldBeginsWith ( string ) & "¶"

    )




    FieldBeginsWith



    Case (

    ( Length ( text ) > 1 ) and ( Length( text ≤ 10 ) );

    FieldBeginsWith ( Left ( text ; Length ( text ) - 1 ) ) & "¶" & text ;
    Text

    )




    返信削除
  2. 関数名ExplodeToMultikey  引数( string )

    関数名FieldBeginsWith    引数(Text)

    返信削除

JT00000001を「JTスぺ-ス1とかで検索したい!」という人のために

「JTスぺ-ス1とかで検索したい!」 とかいう人のために。 -------------------------------------------------------------- 計算フィールの結果(テキスト) J JT JT0 JT00 JT000 JT0000 JT00...