サポート > Wagby定義ファイル > 26 活用のヒント > カナ検索において、濁音や拗音の違いを考慮した検索を行わせる。
濁音や拗音を清音で正規化した検索機能を実現します。カナ名が濁音かどうか不明な人名や地名を検索するのに有効です。(R6.2.0)
この設定を行っておくことで濁音、清音のいずれでも検索ができます。 例えば、顧客名「山田」のカナ名が「ヤマダ」か「ヤマタ」か不明な場合、ひとまずどちらかで登録し、後でどちらでも検索できるようになります。
実行例
ここでは顧客データを例にみてみます。 氏名「山田花子」、カナ氏名「ヤマダハナコ」と登録します。
カナ氏名「ヤマダ」で検索、データが合致していることが分かります。
カナ氏名に「ヤマタ」と指定して検索しても、データが合致することが分かります。
設定方法
定義のポイントは、「カナ氏名」を2項目用意することです。 一方(ここでは「kananame」)は通常の入力及び一覧表示用、 もう一方(「kananame2」)は入力画面では隠し項目にし、検索条件用として使用します。
モデル定義シートで、次のように指定します(図4)。
続いて、「kananame2」のモデル項目定義シートを開きます。 ここでは、3点設定を行います。
- 隠し項目の設定。
- 自動計算の設定。
- 検索時の初期値を設定。
まず、「入力制御」-「入力項目の種類」で「隠し項目」と指定します(図5)。
この設定により、入力画面(新規登録・更新・詳細表示)では表示されません。検索画面では表示されます。
続いて「自動計算」の種類で「四則演算」を選択、式または値に「JPKANANORM(${kananame})」と指定します(図6)。
この設定で、画面で入力される「kananame」の値を清音化し、登録します。
最後に「初期値」の設定を行います。
「初期値」-「検索時」の種類で「Javaコード」を選択、値で「JPKANANORM(${kananame2})」と指定します(図7)。
この設定で、検索時には必ず清音化された「kananame2」を検索するようになります。
つまり、図2のように濁音で検索条件に指定した場合でも、内部では清音化された状態で検索を行います。







