Office 2010 SP1でAccess2010が壊れる現象について

7月分のWindows Updateから「Microsoft Office 2010 Service Pack1:KB2510690」が自動インストール候補に出るようになった。始めは、32ビット版にもかかわらず、32ビット版と64ビット版が2つ出ていたが、8月になってそれは解消された。
が・・・・しかしである。
このOffice 2010 SP1をインストールするとAccessだけは大変なことになる。
今までのAccessファイルをAccess2010で開こうとするとクラッシュするのである。なぜ?と思って、SP1自体アンイストールしていたが、やっと原因がわかった。
まず、そもそも「KB2510690」というパッケージは存在しない。
Office 2010 SP1 全パッケージ一覧 KB2510690
「KB2510690」というのは、Office 2010シリーズすべてのサービスパック1を含む総称であって、個別にパッケージは存在する。Accessに関連していそうなのは、
・Microsoft Office 2010 Service Pack 1(KB2460049)
・Microsoft Office 2010 Language Pack Service Pack 1(KB2460043)
・Microsoft Access 2010 Runtime Service Pack 1(KB2460015)
・Microsoft Access Database Engine 2010 Service Pack 1(KB2460011)
っていうところか。
それで、ファイルが壊れる理由というのが、下の記事。
Access2010 SP1適用後に発生する現象について – Microsoft Answers
内容は、SP1の摘要によって、Accessに発生するエラーが3つ。
1) Access 2010 SP1 – You receive random crashes in certain database or when opening the VBA window in those databases after installing Office 2010 SP1
SP1適用後、特定のファイルがランダムにクラッシュ、またはVBEを開くときクラッシュする。
2) Access 2010 SP1 – Reports that are opened programmatically are no longer showing the expected filtered set of records
OpenReportメソッドでWhereConditionが適用されないことがある。
3) Access 2010 SP1 – You receive an error in Microsoft Access using the built-in wizards after installing Microsoft Office 2010 SP1
Access2010/64bitでビルトインウィザードが起動しない。
64ビット版Officeを使用している人は少ないでしょうから、32ビット版で考えると、1のクラッシュするのが最も影響が大きく、今回の原因もまさにこれによるもの。
KB2533794」でVBE7.DLLが更新されるのが根本の問題らしい。
Office2010 SP1 on track for late June (MukkuMuku備忘 頑張るのは明日から)
MukkuMukuさんのブログにはいつもお世話になります。感謝!!
Windows 7 SP1で勝手にADOをアップデートされた現象に似てないか?これは
解決方法としては、デコンパイルするしかないらしい。ADOもコンパイルし直せば問題なかったが、こちらはコマンドを使用しないといけないようだ。
デコンパイルの手順
1.該当ファイルのバックアップをしておく
2.コマンドラインスイッチ /decompileを使ってデコンパイル
 ファイルフルパス /decompile  例えば、 C:\Users\hogehoge\Documents\targetDB.accdb /decompile
3.データベースを閉じる
4.通常の方法でデータベースを開く
ああ面倒だ。結局SP1はインストールできないではないか。早く修正版を出してほしい。
<2011/08/18追記>
もう一度現象を確認しようと思って、Windows UpdateからSP1をインストールしてみた。
パソコンには、RuntimeとVisioも入っているので、インストールされた更新プログラムを確認してみると、
・Microsoft Office 2010 Service Pack 1(KB2460049)
・Microsoft Access 2010 Runtime Service Pack 1(KB2460015)
・Microsoft Viso 2010 Service Pack 1(KB2460061)
の3つがインストールされました。
下の2つはインストールされなかったようです。
・Microsoft Office 2010 Language Pack Service Pack 1(KB2460043)
・Microsoft Access Database Engine 2010 Service Pack 1(KB2460011)
既存のプログラムを起動して、クラッシュ?・・・・クラッシュしません。7月のときは起動するだけでクラッシュしたのに。
前回は32ビット版の他に、64ビット版も出ていて、1回目は両方インストールして失敗、2回目に32ビット版だけになって成功していた。
今回は32ビット版だけになったけど、1回目は一部が失敗(なぜかRuntime SP1のみ成功)、2回目に成功した。
64ビット版の選択が影響しているのか、それとも8月版でこっそり修正されているのか、すぐに現象が出ることはなくなったようなので、しばらくSP1をあてたまま運用を続けてみます。
ちなみに、SP1によってバージョンがどう変わるのかの確認方法は、
Access 2010 SPなし
「ファイル」メニューの「ヘルプ」画面の右側の「Microsoft Access のバージョン情報」では内部バージョン番号しか確認できない。そこで、バージョンの下の「バージョンと著作権の追加情報」というリンクから開く画面で確認することになる。
Access 2010 SPなし
適用前のバージョン番号は、「14.0.5128.5000」
Access 2010 SP1
SP1適用後は「14.0.6023.1000」
Access 2010 SP1
追加情報画面ではSP1の表記が見える。Access 2010とMSOのバージョンがずれるのは何でしょう?と思って調べたら、「MSO」とはOfficeのバージョンのようだ。AccessはOfficeの一部機能として今回はインストールしているので、ExcelやWordともMSOは同じ番号になっている。単体でセキュリティパッチが出るので、それぞれの内部バージョンは別にあるということなるが、今はSP1をあてた直後なので、いずれも「14.0.6024.1000」になっている。

「Office 2010 SP1でAccess2010が壊れる現象について」への1件のフィードバック

コメントは停止中です。