人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MS ACCESSに関する質問です。
フォームにチェックボックスを作ったのですが、入力が日本語入力になっている場合、スペースを押してもチェックが入りません。テキストボックスの入力などは日本語入力を指定できるのですが、チェックボックスにはそれがありません。
そこで、チェックボックスにフォーカスが移るたびに日本語入力を切るにはどうすればよいのでしょうか?単純にチェックボックスにフォーカスが移った際キーボードから入力ができればそれでよいのですが。

●質問者: Ethinos
●カテゴリ:コンピュータ
✍キーワード:キーボード チェックボックス テキスト フォーカス ボックス
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ardarim
●60ポイント

こちらにVBAで日本語入力のON/OFFを切り替える方法についての説明があります。(Excelですが、Accessでも同じです)


[XL95]日本語入力システムのオン/オフを制御する方法


以下サンプルです。


(1)データベースウィンドウの[モジュール]タブで[新規作成]し、標準モジュールウィンドウを開く。

(2)以下のコードを入力する

Public Declare Function ImmGetContext Lib "imm32.dll" (ByVal hWnd As Long) As Long
Public Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hWnd As Long, ByVal himc As Long) As Long
Public Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal himc As Long, ByVal b As Long) As Long

' IMEControl Sub
' 書式: IMEControl(nMode As Long)
' 解説: IME を制御します。
' nMode
' 0 OFF
' 1 ON

Public Sub IMEControl(ByVal nMode As Long)
 Dim hWnd As Long, IMC As Long, ret As Long
 hWnd = Application.hWndAccessApp
 IMC = ImmGetContext(hWnd)
 ret = ImmSetOpenStatus(IMC, nMode)
 ret = ImmReleaseContext(hWnd, IMC)
End Sub

(3)モジュールウィンドウを閉じ、保存する

(4)フォームのデザインビューでチェックボックスをクリックする

(5)右クリックしプロパティを表示する

(6)[イベント]タブをクリックし、[フォーカス取得時]をクリックする

(7)入力欄右側の[▼]ボタンを押し、[イベントプロシージャ]を選択する

(8)入力欄右側の[...]ボタンを押し、チェックボックスのEnterハンドラに移動する。

(9)Enterハンドラで以下のコードを入力する

 Call IMEControl(0)
◎質問者からの返答

これはだいぶ難しそうですね(;´▽`A``

でも頑張ってやってみます。どうもありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ