マイクロソフトアクセス(以下Access)でデータベースの仕組みを作ってみたけど、のちに
ココがポイント
勝手に変更されて収集がつかなくならないようにコンパイルする方法
があるようです。
コンパイルしたからと言って、単独では実行できずに、Accessがインストールされてない場合は、Runtime版をインストールする必要性があるようですが・・・。
今回は、Accessの仕組みをコンパイルして配布する手順を備忘録にしてみました。
配布する事を前提にAccessメニューを整理
過去にも、コンパイルした状態のAccessの仕組みを配布したことがありますが、パソコンにAccessがインストールされてない場合は、Runtime版と言うマイクロソフトが無償で配布しているプログラムをインストールすれば動かすことができます。
しかし、Accessでオリジナルっぽさを出す為に、Access自体のメニューを消したりした場合に、印刷ボタンが無くなっていたりした場合がありました。
その辺も含めて現時点の検証をしてみたいと思います。
(1)起動時の初期画面を設定
Accessの「ファイル>>オプション」と進んで、「現在のデータベース」からフォームの表示という設定項目にて、最初に開いたいフォームを設定します。
ここで設定しておけば、起動したときに最初に、このフォームがお出迎えしてくれることになります。
(2)メニューや内部構成を消す
さらに、下の方に移動すると、ナビゲーションと言う項目があるので、「ナビゲーションウインドウを表示する」のチェックを外します。
次に、リボンとツールバーのオプションから、「すべてのメニューを表示する」のチェックを外します。
この設定をすることで、開き直すと、開発するツールメニューが消えて、テーブルやクエリなどの表示もされなくなります。
参考
修正する場合は、Shiftキーを押しながら起動しないと開発ツールとテーブルなどが表示されません。
現時点でもAccessの事をしらない方ならば、何も変更できない状態に見えてしまうのですが、フォームの上で右クリックすると、「デザインビュー」が出てきて変更することが可能です。
Accessのコンパイルの意味
Accessのコンパイルは、単独の実行ファイルになるわけでもなくよく理解できていません。
Visual Basicモードでは、デバッグ>>コンパイルってのがありますが、どうもこれはコンパイルをしている訳じゃなく、
さらに詳しく
VBAコードにエラーがないかのエラーチェックのような行為らしい?
つまり、通常の状態の拡張子が、accdb形式ですが、編集ができないaccde形式にする時の事前のエラーチェックと自分は考えました。
これからaccde形式に変換するときに、エラーチェックしておかないとエラーがでる可能性があるらしい。
accde形式に変換して編集ロック
Accessの仕組みを配布する時には、中身をいじくりまわされたくない場合は、accde形式に変換しなおせばいいらしい。
実際に、今回のサンプルを変換してみたいと思います。
ポイント
変換とか、コンパイルという感じではなく、「名前を付けて保存」から「ACCDEの作成」を選択するだけのようです。
ACCDE形式に変換されたAccess実行
ACCDE形式に変換したファイルを実行すると、
セキュリティに関する通知がでてきましたが、気にせず「開く」をクリックすると、コードやデザインなど編集できない状態で起動しました。
印刷プレビューなどもやってみましたが、リボン上の印刷ボタンも使えて問題ありませんでした。
もちろん、Sqlserverとのリンクテーブルなども問題なくVBAで組んだ処理なども使えました。
ココがポイント
この状態なら問題なく配布することが可能
と考えられます。
ただし、自分のパソコンの環境がAccess2013がインストールされている環境であるという事も考えなければなりません。
Accessがパソコンにインストールされてない場合は、Runtime版を使う事になりますが今回は時間の関係で省きたいと思います。
配布する時の注意点
現在、自分の開発環境が、パソコンは、Windows10(64bit)で、Access2013(32bit)という状況ですが、マイクロソフトの場合、よくビット数やバージョンの違いで沢山のエラーを吐き出します。
実際に配布した時に、無駄な時間を費やさないように、
ココに注意
環境の違いを常に念頭に置いておく
事が重要だと思います。
下記にちょっと参考になりそうな有志のサイトをリンク貼っておきます。
Runtime版などもビット数が違ったりするとエラーが出ることもあるようなので注意が必要ですね。