社会不安障害:SAD、ボランティアとセカンドライフ

SADで会社を休職したが、一年で復帰し、無事定年を務めて、その後の生活とボランティアについて気ままに掲載中

MS アクセスは普通のビジネスマンがエクセルのように使うソフトではない

2010-08-26 00:16:30 | ITについて

EXCELはみんなが使っているが、ACCESSは?に関しては、ほとんど使われていない状況と思われる。しかしそのアクセスについて、再考する事になった。

最近、業務の処理を改善する為に、エクセルのマニュアル運用から、アクセスへ改善する為に悪戦苦闘している。この歳になって、プログラムを組む気はしないが、そうは言っても昨年もやむにやまれず、エクセルのVBAで3種類のプログラムを組んだ。これは、処理する日が月末等に限られていた為、手作業では部下が処理できないと判断したからだ。同じ様に、短期間で毎月発生する業務を手作業で処理できない場合に限り、プログラムを組んだ。

今回の処理も同じ様な物だが、工場側の要求を手作業でするには手間がかかる事が一番の理由だが、データの修正が多い事、その処理で発生するミスを抑える事等を考慮し、アクセスでの運用を決断した。

若い時に、サイベースやオラクル、PCでは桐、ファイルメーカ等のDBMSを扱った事もあり、実はかなり甘く考えていた。と言うより、おそらくファイルメーカーの概念が頭にあったからだと思う。要はカード型データベースでも最も使いやすいファイルメーカーを知っていた為に、このアクセスに思ったよりてこずっている。

何種類かの解説本を自分で買ったり(もちろん自前:自己啓発も兼ねている為)、図書館から借りたり、またネットで恐ろしい程多くの情報も参考にして、片っ端から斜め読みした。非常に多くの情報が頭で交錯したが、やっとアクセスの全貌が見えてきた。

CCF20100825_00000 CCF20100825_00001
ブックオフで200円にて購入。
発行日:2002年4月28日
発行所:株式会社アスキー
定 価:1,180円+税
図書館から借りた。
発行日:2001年9月28日
発行所:株式会社エクスメディア
定 価:1,680円+税

これだけ、時間がかかったのは、ひとえに、アクセスの機能が多機能な総合開発環境だと言う事になる。

実は最初の入門書で概要(テーブル、レポート、クェリー、レポート)を理解し、アクセスのVBAを理解した所で、先が見えたと思ったが、実は、ここに落とし穴があった。

アクセスのVBAを理解したと思っていたが、それは全くの勘違いで、まったく理解していなかったと言う事だ。要はエクセルのマクロやVBAを理解しており、DBMSも知っていたので、アクセスのVBAだけの概念を理解した所で、アクセスのプログラミング方法がおおよそ分かったつもりでいた。従って、テーブル、フォーム、クェリーとレポートの設計がほぼ終わった所で、見えたと思ったが、実際にその先に進んだ所で、具体的にどう設計すれば良いのかが分からなかった。

この先を理解するのに、更に調べた結果、巨大なネット情報の中に一つのホームページを見つけた。Microsoft Access Clubだ。このホームページにある「VBA物語--アバウトなVBA寺小屋」でこの疑問が解け、更に「Access File作成口座」で、実際のアクセスのプログラミングの階層を理解する事ができた。

アクセスのプログラミングに関して余りにも、基本的且つ入門的な基礎知識に欠けていたと言う事になる。プログラミングやDBの知識はあってもそのシステム固有の概念の理解が必要だったと言う余りにも初歩的な事にかなり遠回りをした。

以前、エクセルとアクセスの話をしたが、このエクセル的に使える事も、どうもアクセスの本質的な理解の妨げになった様だ。

つまり、テーブルを設計し、クェリーとフォームを作成、レポートも完成したら、それぞれが単独で機能する事、まるでエクセル的にデータの修正追加や検索等ができてしまった為に、逆にプログラミングと言う意味で、このアクセスの全体像がみえなくなったのかもしれない。

更に、アクセスのプログラミングについて、その概念を入門的に説明している情報が思ったよりなかった(実際は多すぎて見つけられなかったのだろう)。 これはおそらく、私がVBAもDBの知識もなかったら、もう少し理解が早かったかも知れない。

と言う事で、あらためて、アクセスの対象者を考えると、このソフト(RDBMS総合開発環境)は一般の方が使用する、使用できるソフトではないとの結論だ。もちろんエクセル的に使える物でもない。

恐ろしく多機能で広範囲のリレーショナルデータベースを利用したアプリケーションの総合開発環境だ。おそらく、小規模システムの開発環境としては最強だろう。と言うか事実PCでは、これ以外のソフトが現在はないのが(実際にはないわけではないが・・・)、この事実を証明している。

さて、アクセスの基本的な理解で手間取ったのは、プログラムの組み方だ。そう具体的には、プログラムをどこに記述するのか?と言う超初歩的な話だった。
この理解をするのに、アクセスVBAにあるプロシージャと言う概念を理解できた事だ。

イベントプロシージャとジェネラルプロシージャの二つがあり、イベントプロシージャには

1.フォームを開くイベントプロシージャ
2.コマンドボタンのクリック時イベントプロシージャ
3.レポートを閉じる時のイベントプロシージャ

があり、通常はこのイベントプロシージャでVBAのプログラムを組むとMicrosoft Access Clubで説明されており、これで頭がすっきりした。

アクセスのVBAでアプリケーションを組む流れを超訳的に説明すると
1)テーブルの設計
2)レポートの設計と言うか、表示、編集機能等のメニューを含む設計
同時にプログラム(VBAである必要はなく、マクロでも良い)の組み込み
3)レポートによる出力
と簡単になる。

が、この1)と2)はそのレベルが多岐に渡り、かなりのノウハウが必要だ。特に2)では、クェリーの概念とマクロとVBAを含む幅広い知識が必要となる。 と言う事で全くの素人の方が、すぐプログラムを開発できるわけがないと言うのが、現実ではないかと思う。

私の場合はと言うと、上記の概念が理解できたので、後はなんと簡単にメニュー周りも含めてアプリケーションの開発ができるのだろうと感心しながら、プログラムが組めそうだ。

昔は、Windowsマネージャ等も無かった時代、画面やメニューも全て、グラフィックライブラリー等を使って、一つ一つ組み込んで行った。従って、メニュー周りの設計に多くをとられていたし、イベント駆動と言う概念やオブジェクト、メソッド等言う概念も無かった。シンプルと言えばシンプルだ。しかし、何でも自前で作成しなければならなかった時代だ。プログラムと言う概念がシンプルな反面アプリケーションの作成には多くの期間がかかったと言う事になる。

今のアクセスを考えると、システム設計の概念を理解するのに、多くの工数が掛かるが、逆に一旦覚えて、慣れてしまえば、アプリケーションの開発工数は、驚くほど短期間で完了する気がする。特に上記で述べた様に、昔一番時間と手間が掛かり、且つ何回も修正を余儀なくされた画面等の設計が、今のアクセスでは簡単にできてしまう。つまりユーザーに実際に画面周りを見せて、確認するプロットタイピング手法が簡単にできるのは大きい。便利になった物だ。つくづく感心してしまう。

これだけ、簡単にできる様になると、もっと開発費用が削減できるはずなのだが・・・。簡単にできる事を、知らないままにシステム開発会社が利益を得ているとは言わないが・・・。


最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
Unknown (トイプードル)
2010-08-26 15:18:30
はじめまして、こんにちわ^^
なるほどー
そうなんですね!
勉強になりますw
返信する

コメントを投稿