5丁目通信(仮称)

とある5丁目で活動する還暦間近のWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

Access Runtimeをターゲットにしている開発は、64ビットと32ビットのMicrosoft Officeを意識しましょうという話し


一つ案件でAccessのフォームを使った開発をやっています。既に開発を完了しているのですが、メンテナンスで細々とAccessの開発をやっています。

こちらはAccessで開発しているのですが、客先はAccess Runtimeでの実行となります。Access Runtimeは32ビットと64ビットがあって、64ビットのAccessで開発して(実際には.accdb)出力したAccess Runtimeの実行ファイル(.accde)は、32ビットのAccess Runtimeでは動かすことができません。もちろん、反対に32ビットで開発して64ビットでは動きません。

したがって、客先で動かすAccess Runtimeが32/64ビットを意識しなくてはいけません。つまりは、客先の32/64ビットに合わせて開発のAccessをインストールしておかないといけません。もっと言うと、開発環境ではMicrosoft Officeが64ビットでAccessだけを32ビットでインストールすることができませんし、実行環境では32bitのMicrosoft OfficeがインストールされたPCに64ビットのAccess Runtimeをインストールできませんので、客先が32ビットであったら、開発環境ではMicrosoft Officeからすべて32ビットにしなければいけません。

だったら、客先を64ビットのMicrosoft Officeに合わせればもらえばいいじゃん、とう考えもありですが、お客さんがわざわざMicrosoft Officeを64ビットで再インストールしてもらおうというのは、どうせ無理な話しです。よって、開発側が合わせなければいけません。大抵のお客さんのMicrosoft OfficeはプリインストールのMicrosoft Officeを使っていますので、64ビットか32ビットかは意識していません。開発側がどちらかを意識しておく必要があります。

自作PC用に一番左のWindows11のパッケージを実際に購入しましたが、問題なくインストールできました。Windowsは使うPCの分だけ正しくライセンスを購入しましょう。

もし、.accdeを利用するお客さんが複数いて、32/64ビットを併用するのであれば、こちらも32/64ビットの2つのAccessの開発環境を用意する必要が出てきます。つまりは、32ビットと64ビットのMicrosoft Officeとインストールした開発用のPCが2台必要になります。幸いにも.accdbは32/64ビットでもActive-Xが動いていない限り(今時使っていないか・・)は同じファイルが動きますので、32/64ビットのいずれかのAccessが動いていてそれぞれ.accdeを出力すればいいだけです(最初はキチンとテストしましょう)。私の方では、Microsoft Office は、サブスクリプションのMicrosoft 365に契約してしているので(インストールされるMicrosoft Officeのデフォルトは64ビットです)、あまりインストールする台数は気にしていませんので、32/64ビットの2台のPCを用意しています。メインで使っているPCは64ビットで、古いサブのPCに32ビットのMicrosoft Officeをインストールしています。よって、サブのPCを廃棄することができません。

いずれにしても、Microsoftに32/64ビットを混在させてMicrosoft Officeを実行させてくれという要望は無理そうですし、32/64ビットの.accdeの変換ツールがあるればもっと楽になるでしょうが、今後はMicrosoft Officeが64ビットに移行していくと思われますので、このような混乱はなくなることを祈ります。

以上、Accessでの開発は何かと面倒なことが多いので、これからはどうするか考えなければいけないのでした。簡単にデータベースのテーブルとフォームの入力はAccessは簡単にできてしまうのでいいのですが、クライアントにすべてAccessをインストールすることも予算的に難しいし、Access Runtimeも以上のトラブルがあるしで、今後はAccessでの開発は控えた方がいいかもという結論です。


%d人のブロガーが「いいね」をつけました。