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」になっている。

各世代のプログラマの弱点は?

あるメルマガで面白い比較一覧を載せていました。
○20代
次世代プログラマの弱点:田中物語
http://blogs.itmedia.co.jp/yutatanaka/2011/08/post-52ff.html
○30代
他人のソースに「すげー」と思う経験:一般システムエンジニアの刻苦勉励
http://blogs.itmedia.co.jp/yohei/2011/08/post-1262.html
○40代
旧世代プログラマの弱点?:プログラマー社長のブログ
http://blogs.itmedia.co.jp/komata/2011/08/post-e415.html
20代、30代、40代のそれぞれの現役プログラマ(一人は元)が各世代のプログラマの強みと弱点を告白しています。
画面をすべてコードから書いていた40代と、画面はツールから選んで置くだけの20代、その間の30代は良かったのかな?と思うことも多々・・・
文系の道を進んでいた自分が何故かプログラムになり、まわりにも文系が多かった。
自分のプログラマの道
1.高校時代にPC-88で、BASICマガジンを購入して掲載されたプログラムを打って遊んだ。
  ↓ この後、大学を卒業するまでプログラムとは無縁
2.営業として就職した会社で、エクセルの資料の自動化のためマクロを作成する。
  ↓
3.会員管理のため、アクセスのマクロを作成する。
  ↓
4.プログラマとして就職し、アクセスVBAを勉強する。
  ↓
それから11年余り、なんとか今でもプログラマでいます。
この間には、アクセスVBA、ASP、VB.NET、PHP、Java、ASP.NETといろいろな言語を使えるようになりました。まだまだプログラマとしては未熟ですが、やはりコードで画面を作る時代が続いていたらプログラマにはなっていないでしょうね。
30代後半の世代の強みとしては、
・ちょうど大学卒業頃に世にWindows95が登場し、多ウィンドウ時代が到来
・ハードウェアの多規格がDOS/V機への統一規格が進行
・CPUの高速化とHDDの多容量化が進行
こうした時代背景とともに、ハードウェアスペックに頼らないアルゴリズムの性能追求と、新しい画面デザインなど新技術への順応というバランスのとれたプログラムを考える傾向が強いように感じます。
弱みは、
・ハードウェアスペックの余裕があるので、ギリギリまで性能を追求するアルゴリズムは考えない。
・新しい画面や手法には若い人には一歩遅れる。
・すごいコードを見ると真似したくなる。(使う人には見えないのにね)
あと20年なんとかプログラマを続けていきたいと考えています。

湯涌ぼんぼり祭り

夕方湯涌の夢二館へ行ってきました。
「夢二の子ども絵」 金沢湯涌夢二館
新しい展示を見た後で、ふと思い出し、近くの稲荷神社へ
湯涌ぼんぼり祭り
アニメ「花咲くいろは」に出てきた「ぼんぼり祭り」を再現しようと、
湯涌ぼんぼり祭り
稲荷神社までの階段にぼんぼりが建てられています。
湯涌ぼんぼり祭り
まだ明るいので雰囲気はないですが、虫が入るのか今日は業者がぼんぼりに蓋を取り付けていました。
湯涌ぼんぼり祭り
先月23日の点灯式にはアニメファンなど大勢の人で賑わったみたいですが、本祭は10月9日です。
湯涌ぼんぼり祭り
神社にはスタンプが新設されていました。記念スタンプかと思いきや!
湯涌ぼんぼり祭り
温泉街の商店でアニメ通りの「のぞみ札」を販売中ではないですか!奉納の代わりにスタンプを御朱印として押して帰るのだそうです。ようやく金沢でも商売気が出てきたではないですか。もっと盛り上がりますように・・・

珠姫まつり 江の娘の菩提寺法要

以前より存在は知っていたが、開催日が平日ということで機会がなかった天徳院の「珠姫まつり」に参加してきました。
珠姫まつり
天徳院は加賀藩三代藩主前田利常の室であった「珠姫」の菩提寺です。
珠姫まつり
徳川秀忠の娘として(というより今年は江の娘と言ったほうがわかりやすいでしょうか)、初代利常の室まつとの人質交換で三歳で加賀へ下向、一四歳で結婚し、二三歳で旧暦7月3日に亡くなりました。
珠姫まつり
「珠姫まつり」は今の暦で8月9日に当たる本日を中心に開催されています。今日に限り、拝観料も無料となっています。
珠姫まつり
13時半から供養法会、居合演武、落語会と続きましたが、夏休みとってまで行って良かったです。曹洞宗の法要というのも見ることができました。平日とあってか人もそこそこでしたが、宣伝不足な面は否定できませんね。まあ、大々的にやって大勢やってきても入りきりませんし、法要が主目的ですから観光とも少し違いますし。
今年は亡くなってから390年ということで、10年後の400年の節目に向けて新しい試みが始まっているようです。機会があればまた行ってみたいですね。

北前船 みちのく丸 金沢寄稿イベント

「北前船 みちのく丸 金沢寄稿イベント」へ行ってきました。それにしても暑い日が続きますね。
北前船 みちのく丸 金沢寄稿イベント
青森港を出港して7番目の寄港先となった金沢港です。
北前船 みちのく丸 金沢寄稿イベント
平日の朝からたくさんの親子連れと老夫婦が訪れて、我先に乗り込もうと行列を作っていました。
北前船 みちのく丸 金沢寄稿イベント
この大きさで300俵ほどの米を運んでいたそうです。
北前船 みちのく丸 金沢寄稿イベント
今回のイベントは東日本大震災復興支援事業の1つとして行われています。
北前船 みちのく丸 金沢寄稿イベント
船尾の「みちのく丸」のプレート。船のあちこちに銅細工を使っていますが、建造から三年経って少し色褪せていますね。できた当時は煌びやかだったでしょうね。
北前船 みちのく丸 金沢寄稿イベント
木陰の休憩所でペーパークラフト体験会が開かれていましたので、参加してきました。
北前船 みちのく丸 金沢寄稿イベント
二枚の厚紙に北前船がプリントされています。
しかし、このペーパークラフト難しいです。まず部品を切り出すのが細かい、折り跡をうまくつけるのが難しい、糊がうまくつかない、木陰は風が強い・・・。最後のは愚痴ですが、一緒に作っていた子供たちは自分の力で思い通りに行かないことが多く、泣き出す状況。
自分も一時間半戦ったものの、まだ時間がかかると判断し、残りは自宅で
北前船 みちのく丸 金沢寄稿イベント
そこで隣接するみなと会館のイベントを見てきました。
北前船 みちのく丸 金沢寄稿イベント
中には小型の北前船がずらりと
北前船 みちのく丸 金沢寄稿イベント
入口では製作中の様子を見ることができました。
北前船 みちのく丸 金沢寄稿イベント
昼に別用で県庁に寄ったついでに、最上階からみちのく丸を探してみました。
北前船 みちのく丸 金沢寄稿イベント
みなと会館に遮られ、帆柱しか見えませんでした。
北前船 みちのく丸 金沢寄稿イベント
戻って、乗船しました。
北前船 みちのく丸 金沢寄稿イベント
畳まれた帆が横たわっています。
北前船 みちのく丸 金沢寄稿イベント
帆はこの打廻しという道具で帆柱から外れないようにしています。
北前船 みちのく丸 金沢寄稿イベント
船頭の車立というところで倒した帆柱を受け止めるそうです。
北前船 みちのく丸 金沢寄稿イベント
船尾の船内
北前船 みちのく丸 金沢寄稿イベント
この轆轤(ろくろ)で帆を巻くのだそうです。
北前船 みちのく丸 金沢寄稿イベント
暑い日でしたが、昔を想像する良い機会でした。
北前船 みちのく丸 金沢寄稿イベント
帰ってペーパークラフトの残りを作りました。まあまあの出来でしょ!

第62回 姫路お城まつり

1年ぶりに姫路にやって来ました。
姫路城
目的は修復工事が行われている姫路城天守、天空の白鷺の見学です。
第62回 姫路お城まつり
今日は、姫路お城まつりの最終日とあって人出も多いかと心配していましたが、最終日とあってか地元の方がほとんどだったようです。やはり姫路の観光は姫路城天守を失って大打撃を受けているようです。
第62回 姫路お城まつり
それはともかく何があるのか見て回りました。
第62回 姫路お城まつり
ステージではよさこいが披露されていました。
第62回 姫路お城まつり
「姫路コロコロ焼そば」というのが少し気になったので昼に食べることにしました。
第62回 姫路お城まつり
地元のこんにゃくがブロック状に焼そばにのっています。美味しかったです。
しろひめまる
城に行くと所々で姫路市のキャラクター「しろひめまる」に会うことができます。
これは入口ゲート。
しろひめまる
天空の白鷺の受付。受付のお姉さんを横目に、許可とって撮影しました。今日はお城まつりモードのようです。
しろひめまる
広場の看板
しろひめまる
前回入口売店で見かけて、帰りにどこかに売っているかと思っていたら、買える店が非常に限られていて入手できなかった、しろひめまるグッズを大量に購入してきました。これ今回の旅行のもうひとつの目的でした。クリアファイル、キーホルダー、ぬいぐるみです。他にもたくさんありましたが、試行錯誤してこれだけにしました。
しろひめまる
キーホルダー。しろひめまるに似合うピンクの紐に、赤い鈴を探して買いました。
しろひめまる
ぬいぐるみは大きい方だけを買う予定でしたが・・・
しろひめまる
他の方のブログに、大きい方の桜の花びらは色が濃いとあったので、両方買ってきました。確かに色は小さいぬいぐるみの方が薄いのでかわいいかも!ちなみに大は1200円、小は900円、他のゆるキャラのぬいぐるみに比べれば安いですね。気になった方はぜひ姫路へ出かけて下さいね。

Access 2010 データシートの列見出しのフィルター機能を非表示にする方法

Access 2007にリボンインターフェースが採用されてから便利になった部分もあれば、余計な部分も増えました。
Accessでビジネスアプリケーションを作る身としては、余計な機能だったのが「データシートのフィルター機能」(この機能の正式名称はなんだろう?)
データシート形式で表示した場合に、行見出しの左側にコンボボックスと同じ選択画像が表示されます。
Access2010 データシート フィルター機能を無効化
項目名が長かったり、狭い列ではこの一文字分を占有する選択画像はぜひとも消去したい!
と思うわけですが、ネットを検索してみてもその方法が全くわかりませんでした。
Access2010 データシート フィルター機能を無効化
元はエクセルをデータベース的に使用する時に使用する「フィルター」機能を、アクセスのデータシートに持ってきたみたい。
Access2010 データシート フィルター機能を無効化
列見出しを右クリックすると表示されるショートカットメニューとは内容が違います。
Access2010 データシート フィルター機能を無効化
フォームのプロパティにある「その他」タブの「ショートカットメニュー」を
「はい」(デフォルト)→「いいえ」
に変更すると、
Access2010 データシート フィルター機能を無効化
フィルター機能は使えなくなりますが、同様に右クリックのショートカットメニューも使えなくなります。
・新しく追加されたフィルター機能は無効にしたい
・右クリックのショートカットメニューは有効にしたい
このAccess2003時代に戻るために試行錯誤してみた結果が次の解決法です。
Access2010 データシート フィルター機能を無効化
・フォームのプロパティにある「その他」タブの「ショートカットメニュー」を「いいえ」
・フォームのOpenイベントに「Me.ShortcutMenu=True」と記述
Access2010 データシート フィルター機能を無効化
表示は「その他」タブの「ショートカットメニュー」を「いいえ」にした状態と変わりありませんが、
Access2010 データシート フィルター機能を無効化
右クリックのショートカットメニューはちゃんと使えますよ。
実は・・・・
この解決法を見つける過程で逆の現象を発見していました。
・フォームのプロパティにある「その他」タブの「ショートカットメニュー」を「はい」のまま
・フォームのOpenイベントに「Me.ShortcutMenu=False」と記述
この場合は、
・新しく追加されたフィルター機能は有効になる
・右クリックのショートカットメニューは無効になる
という結果になります。