前回
・Accessでシステムを作成する際、なるだけ別のシステムに移行しやすい形を取ろう。
・既に構築してしまっているなら、外の動きを変えずに別のシステムに移行しやすい形に修正しよう。
と書きました。別のシステムに移行しやすい、とはどういうことでしょう?

ガラパゴスって言葉、たまに耳にしませんか?日本の携帯市場はガラパゴス化が進んでいて、等々。要するにある意味閉鎖された市場で他所とは違う方向性や技術革新が進んでいったような場合を指している訳ですが、Accesssが実はガラパゴスそのものだといえます。
データベースというものであれば一般的にOracleやSQL Server,DB2などがあります。フリーのものではPostgreSQLやMySqlなど。それぞれと比べてもAccessは一線を画しています。見方を変えれば、Accessでデータベースが分かった気になっていても、実はAccessという閉じられた世界のローカルルールだった、というものはいくつもあります。

長々と書きましたが、別のシステムに移行しやすい、ということはガラパゴス化、つまりAccessでしか通用しない表記を避け、一般的なデータベースと処理等をそろえる形にする、ということです。


具体的に見ていきましょう。Accessにはいくつかのオブジェクトがあります。2003の場合
・テーブル
・クエリ
・フォーム
・レポート
・ページ
・マクロ
・モジュール
があります。

私自身、レポートやページをほとんど使わないのでここに関していいことが書けるかどうかは分かりませんが、簡単に書いておきます。

・データベースに関して
  対象:テーブル、クエリ
  やること:クエリは参照系のみとし、更新系のクエリ(Insert,Update,Delete)は廃止する。
・処理に関して
  対象:モジュール、マクロ、フォーム、(一部、クエリ)
  やること:マクロはモジュールに移行する。
       フォームでは項目との連結など、データベースと直接関わるような定義をせず、イベントに任せる。
・出力に関して
  対象:レポート、ページ、(一部、フォーム)
  やること:他社製のツール検討や、Excel、Wordなどのファイルも検討する。

きわめて簡単な方向性はこのくらいでしょうか。