- ベストアンサー
Access:タブキーでのフォーカス移動の際、自動でふりがなが入力されません
Access2003で質問です。 現在、仕事で社員名簿をAccessで作成しています。 フォーム内でテーブル内容を閲覧・編集はできるようになったのですが、 ふりがなの表示がどうも上手くいきません。 マウスでテキストボックス1(氏名)をクリックしてフォーカスを移動させるとテキストボックス2(ふりがな)にはちゃんとふりがなが表示されるのですが、 タブキーでテキストボックス1にフォーカス移動させて入力しても、 テキストボックス2には表示されない状況です。 解決策をご存知の方、ご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
下記が易しい方法か疑問がありますが、 フォームに、氏名、フリガナ用のテキストボックスを2つ設けます。 氏名のLostFocusイベントに下記を設定する。 Focusを失えば実行されるのだから、タブやエンターやマウスで別コントロールを選択したときに発生する。 Private Sub 氏名_LostFocus() 'MsgBox "AAA" Dim objExl As Object Set objExl = CreateObject("Excel.Application") Me.氏名.SetFocus f = objExl.GetPhonetic(Me.氏名.Text) ' MsgBox f Me!フリガナ.SetFocus Me.フリガナ.Text = f Set objExl = Nothing End Sub デザインビューをクリックし、デザインモード状態で氏名テキストボックスのプロパティを出して、「イベント」タブで 「フォーカス喪失後」をクリックし、右端に「・・・」を出し、コードビルダーを指定し、出てきた画面に貼り付ける。 ーーーー コードを使わない方法が有るのではと思うが、後の回答を待ってください。 (1)フリガナを取る(エクセルの仕組みを借用) アクセスにはフリガナを作る関数等が無いようだ(が、誤りかも) (2)LostFocusイベントを使っている のが、特徴です。
お礼
imogasiさん、さっそくのお返事ありがとうございます。 エクセルオブジェクトを作って、 そこでフリガナを取得すると言う解釈で宜しいでしょうか。 これなら発生起点を他のイベントにしてもいけそうですね。