スキップしてメイン コンテンツに移動

レガシーな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 を追加することでエラーを回避できます。

コメント

このブログの人気の投稿

リビングの環境監視ダッシュボードを60分で作る方法をQiitaに投稿してから数年たった今のお話。

 数年前に、 Nature Remo を利用してリビングの環境監視する仕組みを作りました。たくさんの方から作り方を教えてほしいとの要望があったので、 Qiita に投稿したところ、Twitterで注目していただき、さらにNature株式会社公式ブログ( https://nature.global/blog/1072/#title1 )でも紹介していただき感動です。 その後もどうにか稼働しているので、その様子を少し紹介してみたいと思います。 リビングの環境監視ダッシュボードを60分で作る方法(Nature Remo Cloud APIとGoogleサービス連携) アップデート 1.複数台運用 寝室用にもう1台Nature Remoを購入したので、複数の部屋の環境を可視化してみました。 複数台のNature Remoを利用する方法については、mumunus様にコメントいただきました。本当に感謝です。 https://qiita.com/t-chi/items/01b9a9b98fbccef880c3#comment-5c5e624fb37745493b84 複数台運用では、データソースを部屋ごとに分けて運用することにしました。任意に振られた番号[0]、[1]・・・で指定することで、Googleスプレッドシートごとに運用できるみたいです。 ※セルの上限制約を意識して、今回は端末ごとにシートを分けて作成してみました。 2.職場のサーバー室の環境監視 小規模な職場に勤めているのですが、停電により空調が止まってしまい、サーバー室の温度が一気に上がりネットワーク機器が故障の危機に陥ったことがありました。 サーバー類はUPS(無停電電源装置)によりシャットダウンを防ぐことができるのですが、夜中に停電したりするとエアコンが切れてしまい、朝には高価なサーバー機器が故障している。なんてことになれば組織にとって大きな損失となってしまいます。 そこで、プライベートで実装した仕組みを活かして、サーバー室にNature Remoを設置して環境監視をすることにしました。 さらに、一定温度以上になれば、管理職と担当、副担当に自動でメールが発出する仕組みを構築しました。 簡易な仕組みですが、無料で運用できるため今まで何もなかったことからすれば一定の保険になるかと思います。 エラー発生の原因 数年にわた

Google Workspaceのアカウントを個人スマホに追加して使おうとしたらアプリが使えないときの対処方法

はじめに 個人デバイスで仕事で利用しているGoogleWorkspaceを利用する場合、Androidスマホだとユーザーを別途用意してスマホにサインインするように運用したほうがセキュリティ上安全な場合があります。 ユーザー追加が終わり、アプリを利用しようとしたときにデータがスマホに同期されない原因の一つに、管理コンソール上の設定があります。 仕事用プロファイルを追加できません。 このデバイスには仕事用プロファイルを追加できません。ご不明な点がある場合は、IT管理者にお問い合わせください。 というメッセージが表示され、Gメールなどのアプリに情報が同期されず利用できないときの対処法を紹介します。 前提条件として、デバイスで仕事用プロファイルの設定が求められるといったケースです。 原因 管理コンソール上の端末管理設定が「詳細」になっているから。 解決策 モバイル管理の設定を「詳細」から「標準」に変更する。 「詳細」が選択されている場合は、Google Workspace のアカウントを利用時に仕事用プロファイルの設定が必須であり、より細かな制御が可能となります。 「標準」の設定であれば、細かな制御はできなくなってしまいますが、仕事用プロファイルの設定なくアカウント追加が可能になります。 手順 1.管理者アカウントで Google Admin にアクセス 2.デバイス>モバイルとエンドポイント>設定>一般設定>全般 3.全般>モバイル管理>標準(エージェント不要)に変更 ダウングレードの文字が出る場合があるが、OKで設定が適用されます。24時間反映にかかる場合があるみたいです。 4.既に個人のスマートフォンの [ 設定 ] > [ アカウント ] の欄に該当アカウントが存在している場合は、一度ログアウトさせてから再追加 まとめ BYODなどで、個人デバイスを業務利用するシーンが増えてきていると思います。 管理者に確認し、適切なセキュリティ運用を心がけてください。

GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編

 はじめに Googleアカウントを持っていれば、Googleスプレッドシートをデータベースとしてアプリを作ることができるAppSheet。しかも、グーグルストアやアップルストアに登録する必要がなく、スマホ、タブレット、パソコンなど、色々なデバイスで利用可能な自分だけのアプリが作成可能です。 簡単にアプリを作ることが出来る ので手軽に始めることができるAppSheet。 ところが、このAppSheet。作りこみ次第ではデータからPDFを自動で作成し、指定のメールアドレスに一斉配信など、会社の 基幹システムレベルの構築が可能 であり、かなり奥の深いサービスだったりします。 作りこみを委託するケースも今後増えるんじゃないか?と思ったので、今回は 作成を代行してもらう方法 を紹介したいと思います。 手順 代行者側 Googleスプレッドシートでデータ作成 AppSheetでデータソースを紐付ける AppSheetの共同編集者に依頼者を設定する AppSheetのUsersからUser emailsに依頼者のGoogleアカウントを入力し、 私はロボットではありません をチェックします。 登録したユーザーの設定をします。 Can edit definition 、 Role:Admin、App version: Defaultにします。 Linksタブから、 アプリのURLをコピー して依頼者に共有します。 念の為、SAVEを忘れずしておきましょう。 URL共有時のメール例文 --- ○○さま お世話になっております。 アプリを作成したのでURLを送付いたします。 設定させていただいたGoogleアカウントによりアクセス可能です。 ご確認よろしくお願いいたします。 AppSheet https://www.appsheet.com/template/Apps アプリインストール用URL https://www.appsheet.com/newshortcut/○○○ ブラウザ利用におけるURL https://www.appsheet.com/start/○○○ 参考 GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編 (goog-life.blogspot.com) --- 依頼者側 メールが届いたら、AppSheet