社内の管理用にAccessのデータを単票のExcel形式にして保存するシステムが上手くうごかないとサポートをしたことがある。
帳票を作り終わった後、Accessを終了させていればその帳票は開くのだが、Accessが終了していないと「マクロxxxがありません」(xxxは忘れました)というメッセージボックスが出て開かないとのこと。
まずはじめにピンときたのが「Access内でExcelのセッションを終了させていない」ということで、対処すれば動くようになった。
しかし、ユーザーのPCでは事象が変わっていない。
他の人にも協力を要請し、確認したがそのPCのみ。
こういう場合はだいたい「そのPCに何かが足りない」ことが多い。Excelのバージョンを確認すると、どれもExcel2003だが、不具合のあるものにはサービスパックは全く導入されていなかった。他のは1か2を導入済み。
SP2を適応したところ、難なく動くようになった。
今はサービスパックは無償だが、確かOffice97のサービスパック1は有償、2は無償であったが、2を導入するにあたり1が必須、ということがあった。「自分たちのバグ修正なのにユーザーに費用負担させている」と非難の声もあったが、致し方ない指摘だろう。その甲斐あってか、今は無料である。
しかし先日、当初予定した機能が元の製品にはないためサービスパックでリリースするということを目にする機会があった。SQL Server 2005 である。ソフトウェアの配布方法としてサービスパックが確立しており、ユーザー負担を最小限に抑えるための配慮とも考えられるので実質上はいいと思うが、「サービスパック」の域を超え「機能補完」であるので、「リリース時に間に合わなかった機能の追加」と、名称を分けても良かったのでは?という疑問はある。
結論。ExcelやAccessはバージョン以外にサービスパックの確認もしておくべきである。