Windows 7 上の Access 2007 または Access 2010 を Windows XP SP3 互換モードで実行すると InStr 関数が戻り値を正しく返さない

現象
Microsoft Windows 7 上の Microsoft Office Access 2007 または Microsoft Access 2010 を、Microsoft Windows XP Service Pack 3 (SP3) 互換モードで実行すると、InStr 関数が戻り値を正しく返しません。
回避策
この現象を回避するには、以下の手順で MSACCESS.EXE の互換モードを解除します。
  1. Office 2010 をインストールしたフォルダーを開きます。既定では Office 2010 は以下のフォルダーにインストールされています。

    C:\Program Files\Microsoft Office\Office14
  2. MSACCESS.EXE を右クリックして、[プロパティ] をクリックします。
  3. [互換性] タブの [互換モードでこのプログラムを実行する] チェック ボックスをオフにして、[OK] をクリックします。
状況
マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。
詳細

問題の再現手順

  1. MSACCESS.EXE に Windows XP SP3 互換モードを設定します。
  2. 空のデータベースを作成します。
  3. Alt + F11 キーを押して VBEditor を開きます。
  4. [表示] の [イミディエイト ウィンドウ] をクリックして、イミディエイト ウィンドウを表示します。
  5. イミディエイト ウィンドウに以下のコードを入力して実行します。

    ?instr("abcdef","c")

結果

戻り値として 3 が返されるところ、1 が返ります。
プロパティ

文書番号:2301154 - 最終更新日: 10/04/2016 14:27:00 - リビジョン: 4.0

Microsoft Access 2010, Microsoft Office Access 2007, Windows 7 Enterprise, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate

  • kbharmony kbexpertiseinter kbexpertiseadvanced kbtshoot KB2301154
フィードバック