フリガナ検索

Pocket

仕事で丁度作る機会がありましたので、Accessでフリガナ検索するフォームを紹介します。

簡単な顧客テーブルを作ります。必要なフィールドがあれば追加して下さい。
2804261
実際にはこんな感じです。

2804262
次にクエリを設定します。
2804264

最初にフリガナ検索するときの、最初の一文字目を抽出します。
左: Left([フリガナ],1)

次に抽出した一文字目が
ア行なら1
カ行なら2
・・・
ワ行なら10と数値に変換していきます。
その算式です。
フリ: IIf([左] Like “[ア-オ]”,1,IIf([左] Like “[カ-コ]”,2,IIf([左] Like “[サ-ソ]”,3,IIf([左] Like “[タ-ト]”,4,IIf([左] Like “[ナ-ノ]”,5,IIf([左] Like “[ハ-ホ]”,6,IIf([左] Like “[マ-モ]”,7,IIf([左] Like “[ヤ-ヨ]”,8,IIf([左] Like “[ラ-ロ]”,9,IIf([左] Like “[ワ-ン]”,10,0))))))))))
少し長くて、見た目にもいまいちのIIF関数ですが、一番分かりやすいと思います。
ちなみにLikeは含むという意味です。

実行結果です。
2804265

このクエリをフォームにします。フォームウィザードから表形式を選択し、図のように
コマンドボタンを配置します。

2804263
フリガナを記載したコマンドボタンのプロパティのイベントタブのクリック時に次の
VBAコードを入力します。
ア行の抽出
Private Sub コマンド10_Click()
Me.Filter = “フリ=1”
Me.FilterOn = True
End Sub
カ行の抽出
Private Sub コマンド11_Click()
Me.Filter = “フリ=2”
Me.FilterOn = True
End Sub
・・・・
ワ行の抽出
Private Sub コマンド19_Click()
Me.Filter = “フリ=10”
Me.FilterOn = True
End Sub

これでコマンドボタンを押すことでフリガナ検索できるようになりました。
2804266

一から作るのは大変なので、サンプルファイルをアップするのでご活用下さい。

=================================
もうすぐGWですね。この仕事をしているとGWはない方がいいです。
GW明けが恐ろしいです。

本日も最後までお読み頂きありがとうございます。