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

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

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


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

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

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

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

   

Accessというものでデータベースの世界を知った方も多いかもしれません。しかし、これは所詮パーソナルから小規模で使うもの。規模が大きくなったらAccessから離れることもあるでしょう。
その際、せっかく作ったAccessを全く新規にリプレース、なんてことをしたら費用も時間も食います。更に、そのシステムを作り上げた方の努力も無に帰するようになってしまいかねません。

そこで、私が提唱したい方針が次のものです。
・Accessでシステムを作成する際、なるだけ別のシステムに移行しやすい形を取ろう。
・既に構築してしまっているなら、外の動きを変えずに別のシステムに移行しやすい形に修正しよう。

なにを当たり前のことを言っているんだ!と言われるかもしれません。しかし、これを実践できているケースはまれです。私が知る限りでは1つたりともありません。
それは仕方のないことです。Accessの書籍でもAccessを使うことは書いてあっても、Accessから脱却することなんて書いていません。要はそういうテクニックや考慮点の情報がどこからも発信されていないからです。

次回以降、おおまかな方向性、そしてそれぞれの各論に入っていきたいと存じます。

技術系の雑誌をたまに購入する。というのも、一緒に仕事をしている人は必ずしもITに強くなかったり、お客様先はもっと技術に弱い。よって、どのように技術を話すか、という参考にもするし、新しい技術を訪ねられたらどうしようか、という部分でも雑誌を買うことがある。専門書はスピードが遅い傾向にある。


しかし、ほとんどの場合、「俺の方が説明がうまい」とか「結局この筆者はこの技術について分かっていないんじゃないか」と思って終わりだ。そう、少なくとも80%はそうだろう。
しかし、少ないながらもいい情報があるケースがある。それは雑誌に依る訳だが、良質の雑誌はよい知識とよい気づきを与えてくれる。しかし、雑誌全体ではなく、一部の記事だけである。

めっきり雑誌を買うことも減ったし、購入する雑誌もかなり絞るようになっているが、最近の若い人はどういうソースで学習しているのだろう?ネット検索した方がいいのだろうか?
そこそこ古い技術はそれでもいいが、新しい技術は雑誌の方が早い気がする。おそらく、それよりも英語サイトの方が早いのだろうけれど。


雑感でした。