ACCESS自体のIMEのモードを切り替える必要がありますので
APIを使ったプログラムを組み込まなければ実現できそうにありません。
フォーム上の「印刷」ボタンを押した時にレポートを開くならば
フォームモジュールで
Option Compare Database
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function ImmGetContext Lib "imm32.dll" ( _
ByVal hwnd As Long _
) As Long
Private Declare Function ImmReleaseContext Lib "imm32.dll" ( _
ByVal hwnd As Long, _
ByVal himc As Long _
) As Long
Private Declare Function ImmSetOpenStatus Lib "imm32.dll" ( _
ByVal himc As Long, _
ByVal fOpen As Long _
) As Long
Private Sub [ボタン名]_Click()
Dim himc As Long
himc = ImmGetContext(GetForegroundWindow)
Call ImmSetOpenStatus(himc, 0)
DoCmd.OpenReport "レポート名"
Call ImmReleaseContext(GetForegroundWindow, himc)
End Sub
とでもしておけば、レポートを開く前にIMEをオフにしておけそうです。
データベースウィンドウから単純に開くだけだと
レポートを開く前に処理を組み込んでおく事はできないため
#3の方の回答どおりあきらめて頂くしかなさそうです。
お礼
ありがとうございます。 プログラムは私には無理なのでフォームを利用する方向で 考え直します。