Chapter 7 アドインとしてのテスト

7-1.アドインのセットアップ
7-2.アドインの実行
7-3.アドインの修正作業


7-1.アドインのセットアップ

アドインとしてのセットアップに入る前にMDBとして行ったテストの後始末をしておきましょう。テスト用に作った余分なフォームを削除します。もしテストのために他のオブジェクトが作成してあれば、もちろんそれらも削除しておきます。また、モジュールのコンパイルやデータベースの修復/最適化もしておいた方がよいでしょう。まだ、テスト段階なので実際には早いかもしれませんが、ここでMDEファイルを作成してそれをアドインにすることもできます。

それらの準備ができたら、続いて現在のデータベースファイル名"SampleAd.MDB"を、アドインをあらわす拡張子、つまり"SampleAd.MDA"に変更します。これは通常のファイル名変更の操作です。エクスプローラなどで行ってください。

ファイル名を変更したら、SampleAd.MDA を以下の場所にコピーします。移動してもかまいません。ただしこの操作は必ずしも必要なものではありません。この操作を行わなかった場合には、次のアドインマネージャでのセットアップ作業の手順が若干異なることになります。

  Windows\Application Data\Microsoft\AddIns\

    ※参考:Access97のアドインの場合にはAccess97本体(Msaccess.exe)のあるフォルダにコピーします。


さて、ここから先が「アドインマネージャ」によるセットアップ操作です。なお、ここでいうアドインマネージャとはVisual Basic Editorのものではなく、Access本体の方のものですので注意して下さい。
  1. まずAccessを起動し、適当なMDBファイルを開いて、メニューの[ツール]-[アドイン]を使える状態にします。何らかのMDBファイルが開かれていないと、このメニューは灰色表示で使うことができません。

  2. 続いて、Accessのメニューより[ツール]-[アドイン]-[アドインマネージャ]を順番に選択し、アドインマネージャを起動します。

  3. アドインマネージャアドインマネージャが起動されるとダイアログボックスが表示されます。

    この中の[使用可能なアドイン] の一覧には、現在使用可能なアドインが表示されます。ここで「サンプルアドイン」もすでに表示されているはずです。もし SampleAd.MDA をあらかじめ所定の場所にコピーしていない場合には、ここで[新規組み込み] をクリックしてファイルのある場所を指定します。この操作によって、アドインマネージャは指定した場所から所定の場所へとそのファイルをコピーします。
  4. アドインマネージャ[使用可能なアドイン]の一覧の中から「サンプルアドイン」をクリックして選択します。この際、ダイアログの下半分に「データベースプロパティ」に設定した内容がきちんと表示されているかもチェックしてみてください。

  5. アドインマネージャ続いて[組み込み]ボタンをクリックします。組み込みが完了すると一覧の中の「サンプルアドイン」の左側に"×"印が表示されますので、それを確認してアドインマネージャを終了します。

以上でアドインのセットアップ作業が完了しました。

ページのトップへ



7-2.アドインの実行

それではさっそくサンプルアドインを実行してみましょう。

アドインを実行するには、アドインマネージャと同様に何らかのMDBファイルを開いておく必要があります。とりあえずのテストですので、適当なMDBを新規作成して何もコントロールを挿入していないフォームを作るという方法でも十分ですが、ここではAccessに付いているサンプルデータベース"Northwind.mdb"でテストしてみます。
  1. まずNorthwind.mdbを開きます。

  2. Accessのメニューより[ツール]-[アドイン]を選択します。ここで[アドインマネージャ]と縦に並んで「サンプルアドイン(S)」が表示されていることを確認します。正しく表示されていれば、そのアドインの存在がAccessに正常に認識されているということになります。
    [ツール]-[アドイン]メニューの表示    

  3. そのまま「サンプルアドイン(S)」をクリックします。アドインが正常に起動すればシステムテーブル"USysRegInfo"のスタートアッププロシージャ名も正しく設定されていることになります。もしその綴りが間違っていたりすると、次のようなメッセージが表示されてしまいます。
    エラーメッセージ

  4. アドインが起動した後はMDBでのテストと同じように操作してみます。まずNorthwind.mdbのフォームが一覧表示されますので、そこから任意のフォーム名を選択して[OK]ボタンをクリックします。そしてそのフォームのプロパティ一覧が表示されれば、アドインとしてまずは正常動作していることになります。
    実行結果(フォーム覧表) 実行結果(プロパティ一覧表)

ページのトップへ



7-3.アドインの修正作業

アドインとしてAccessにセットアップした後に発見されたバグの修正作業は、通常のMDBファイルとは異なり、若干の注意を要します。

Northwind.mdbを読み込んでサンプルアドインを実行、ここで問題が発見され、アドインを修正するとしましょう。

まずアドインのMDAファイルを開くためにNorthwind.mdbを閉じます。続いて所定のフォルダにセットアップされたアドインのファイル"SampleAd.MDA"を開いてみましょう。すると、次のようなメッセージが表示されてSampleAd.MDAを開くことができません。
エラーメッセージ


プロジェクトウィンドウ これは、すでにAccessのメモリ上にアドインのモジュールなどのオブジェクトが読み込まれているためです。このアドインのメモリ上での扱いはすでに説明しました。アドインの場合、その処理が完了したからといってメモリ上からアンロードすることはできません。すべてのフォームが閉じられるだけです。そのことはプロジェクトウィンドウを見てもわかります。
※しかしこのことは逆に、アドインのモジュール部分だけの修正ならVisual Basic Editor上でできてしまうことを意味しています。もしもフォームのデザインを確認したりする必要がなく、明らかに「コードのこの部分を修正すればよい」と分かっている場合や、ステップ実行を試してみる程度の作業なら、VBE上でやってしまうことができます。(99/10/31追記)

そこで、アドインを完全にアンロードするには、Accessをいったん終了させてしまうのがもっとも簡単な方法です。そしてすぐにAccessを再起動してMDAファイルを読み込むようにします。

もしかしたら、もう一つのAccessを起動してMDAファイルを共有する形で修正作業を行えるかもしれません。実は(ちょっと恐いので)実際にはやってみたことはないのですが、この方法でも一方のAccessにはすでにモジュールが読み込まれているので、もう一方のAccessで修正した内容をそちらのAccessに反映させることはできないはずです。モジュールやフォームなどの場合は、テーブルのレコードを共有するようにはいきません。結局はAccessをいったん終了しなければならないでしょう。

しかし、根本的なエラーの大半は、MDBでテストする段階で発見・解決できることが多いようです。特に今回は、CurrentDbやCodeDbの使い分けなど、アドインとして注意しなければならないことをすでにいくつか説明してありますので、このレベルの、あるいは今回使ったような機能の範疇では、アドインとして実行した段階で大きな問題が発生することは少ないと思います。

通常のデータベースとして動作させた場合とアドインとして動作させた場合とでは、他にもいくつか注意すべき相違点がいくつかあります。それらは、アドインとして実行したときに始めてエラーとなる、あるいはおかしな動作をするといった類のもので、MDBとしてのテスト段階ではそれらしく動作してしまうため、気をつけないと見過ごしてしまう可能性があります。次回はこの点も含めて「アドイン入門」のまとめを行いたいと思います。

ページのトップへ

| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved