住所録を Microsoft Access で作っている。改廃履歴によると、初版は H12/11/09 となっているから、10年目という事になる。これを1年ぶりに改修した。
今回の改修のポイントは、[かな検索]した時に、その「かなで絞り込む」ようにするもの。ところが‥‥ コードが思い出せない、忘れている、忘れているのだ。
やっとの思いで、6時間掛かって、下記をコーディングした。
Private Sub cmdかな検索_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo Err_cmdかな検索_MouseDown Dim mbTitle As String Static lngState As Long Static oldFilter As String mbTitle = MYObjName & "/cmdかな検索_MouseDown" If Shift And acShiftMask > 0 Then If oldFilter = "" Then Me.住所録一覧.Form.Filter = "" Me.住所録一覧.Form.FilterOn = False Else Me.住所録一覧.Form.Filter = oldFilter Me.住所録一覧.Form.FilterOn = True End If Exit Sub End If If lngState = 0 Then lngState = 1 MsgBox "[かな検索]を行なうと、抽出条件が解除されます。" & vbCrLf & vbCrLf _ & "元に戻すには、[Shift]+クリックするか抽出条件を再指定します。" _ , vbOKOnly + vbInformation, mbTitle End If VARAns = get_かなclick() If IsNull(VARAns) Then Exit Sub 'Filter を保存 oldFilter = Me.住所録一覧.Form.Filter Me.住所録一覧.Form.Filter = "[か]='" & VARAns & "'" Me.住所録一覧.Form.FilterOn = True Exit_cmdかな検索_MouseDown: Exit Sub Err_cmdかな検索_MouseDown: MsgBox Err.Number & "/" & Err.Description, vbCritical, mbTitle Resume Exit_cmdかな検索_MouseDown End Sub
かつてなら、30分ぐらいで済む内容なのに...