| 簡単にできる名簿検索 |
| 名簿テーブルをフォーム上から簡単に検索できないだろうかという声をよく聞きます。 名簿は、漢字で検索するよりフリガナでの検索の方が早いので、今回は簡単にできるフリガナ検索の方法をご紹介します。 まず「名簿」テーブルをもとに「表形式」のフォームをつくります。ここでは簡単に「ID」「氏名」「フリガナ」「住所」だけをフォームに表示します。 次に、フォームフッター部分の幅を上下に少し広げて、「テキストボックス」と「コマンドボタン」を配置します。 「テキストボックス」にはモジュールでわかりやすいように「kensaku」という名前をつけてあります。 あとは、「フォームを開いたとき」と「ボタンを押したとき」のイベントプロシージャを下記のように記述します。 |
![]() |
| '--------------------------------------- Private Sub Form_Open(Cancel As Integer) DoCmd.ApplyFilter , "フリガナ Like '""'" SendKeys "{F9}" End Sub '--------------------------------------- Private Sub コマンド14_Click() On Error Resume Next If IsNull(Me!kensaku) Then MsgBox ("キーワードを入力してください") Else DoCmd.ApplyFilter , "フリガナ Like '*" & Me!kensaku & "*'" DoCmd.GoToControl "kensaku" SendKeys "{BS}" End If End Sub '--------------------------------------- |
| 開いたときのイベントでフリガナが空白のものだけを抽出します。 つまりこれがなければ、開いたときにデータを全部呼び出してしまうのでそれを回避するためのものです。 入力用のテキストボックスは、元データの「フリガナ」が「半角カナ」なのでプロパティでIME入力モードを「半角カナ」に設定してあります。 前後に「*」アスタリスクを入れてあるので「ヤマ」と入れれば「ヨコヤマ」も「ヤマダ」も抽出します。 そしてボタンを押せば、抽出し、入力した文字を自動的に消す仕掛けにしています。 どうですか。これだけでも結構つかえるでしょ。 |
![]() |