レガシーなMicrosoft AccessをMicrosoft365で復活させる~mdb 32ビットからaccdb 64ビットにアップデート

はじめに

Microsoft365のOfficeのクライアントソフト利用が含まれるライセンス契約をしている会社や組織が増えてきているみたいなので、Access信者がここにきて重要な役割を担う可能性があるんじゃないか?ということで、過去に作った神Accessを復活させる方法を紹介いたします。

Microsoft Accessとは

Microsoftの開発したデータベースソフトです。
https://www.microsoft.com/ja-jp/microsoft-365/access
Excelは表計算ソフトなのですが、Accessは大量のデータを混ぜ合わせたり集計でき、様々な様式への帳票を容易に実装できるため、簡易なシステム開発によく利用されてきました。
ところが、個々のITスキルが高い人が作りこんではブラックボックスを量産したり、パソコン環境が変わるごとに不具合が出るなど問題も多くあり、WEBシステムが主流になるにつれて存在感が薄れていってしまったデータベースソフトです。

なぜ今Accessなのか?

Microsoft365のライセンスに含まれるケースが多いため。です。

また、データやアプリの民主化が進み、内製化が見直された結果、ローコード・ノーコード開発が注目を浴びました。
PowerAppsやAppSheetなどのクラウドサービスを主とした開発が進む中、過去の経験から開発における社内ガイドラインの整備や、標準データセットの取り決めなどによるブラックボックスを防ぐための工夫もみられるようになってきました。
ここにきて、クラウド側だけでどうしても完結できないような簡単なデータ連携や変換、あるいは帳票といった部分でAccessの活躍の場があるんじゃないか?と考えています。
しかも、過去では必要に応じて購入していたAccessがMicrosoft365テナントで全メンバーが利用できるというのは、運用のしかたによって大きなメリットとなるのではないでしょうか。
帳票であるとか簡易なデータ変換にAccessの利用価値を感じずにはいられません。

2021年8月時点

復活前提条件

開発環境
Access2000等で作成したファイルで、拡張子がmdb
32ビット環境で作成
復活環境
Microsoft365 Access 2021年8月時点

手順

スタートメニューのAccessを起動し、他のファイルを開くを選択

参照を選択し、対象のファイル(mdb)を選択します。

排他モードで起動し、パスワードを解除する必要があります。

Access 他のファイルを開く 参照

ダイアログの開くボタン右に▼があるので、そちらから排他モードで開く

ファイル 情報 データベースパスワード解除

ファイル 名前を付けて保存 Accessデータベース(*.accdb) 名前を付けて保存

この手順で、Office365ファイルに変換できます。

64bit対応

レガシーなAccessの場合、32bit版だったりします。

VBAを修正するする必要があります。

AccessはWindowsAPIを使用しているらしいのですが、こちらを64bit版に更新すればエラーを回避できます。

32bit版では
Declare Sub・・・ 
Declare Function・・・

の部分を

64bit版
・Declare PtrSafe Sub・・・ 
・Declare PtrSafe Function・・・ 

に宣言を更新します。
要は「Declare」の後に PtrSafe を追加することでエラーを回避できます。

コメント

タイトルとURLをコピーしました