 |
今月の一言 |
<<< 08年7月の一言 >>> |
このところ、毎日、凝っていることがある。
Microsoft Accessというデータベース・ソフトの習得と、これを使っての業務システムの作成である。
PTA活動に携わるようになった手始めとして、まず2つの仕事について、このソフトで作りこんだシステムで運用していけたらと考え、手がけているのだ。
・・・・・・などと書くと実にかっこよく聞こえるが、ようするにPTAのお母さん方がやっていることを傍から見ていて、つい、「そういうことで困っているなら、なんとかしてあげるよ」と、かるーい気持ちで請合ってしまったのである。
Accessなら十数年前、会社勤めをしていた頃に少しばかり触ったことがある。そのときの経験から、なんとかなるだろうと思っていたのだが・・・・・・
やってみると、意外と難しい。
基本的な理屈やら操作は覚えているのだが、ちょっと複雑な処理になると、もうお手上げになってしまう。
これは、今一度、褌を締めてかからねばならない。
気合を入れなおした私は、すぐさま本を買ってきて、あらためて勉強しなおすことにした。
ところが、2冊ほど目を通したところで、どうやら入門編くらいの知識では、やりたいことに手が届かないということが分かってきたのである。
Accessを使える人がエンドユーザーなら、正直なところ、苦労はしない。
素のままのデータベースに、ちょいと加工してやればそれで話はおしまいになる。
だが、今回はパソコンをあまり触ったことがないというレベルの人に、これを使って仕事してくれというのである。かなり作りこまないとダメだろうことは、システムに少しでも造詣のある方なら、想像に難くないと思う。
例えばデータを検索するような場合。
画面から複数の条件を入れて、ボタン一つで検索結果を表示する、なんていうのが一般的だろう。これ、言葉で書くといかにも簡単なんだけど、こういう処理をコンピュータにやらすには、あれこれ裏で工夫しないとならない。 条件が空欄だったらどうするんだとか、一件もヒットしなかったらどうするとか、あの場合、この場合とつめていくと、結構、果てしない。そして、この一つ一つをプログラミングせにゃならんのだ。
まぁ、そんなことはさておき、では、システムを本格的に作るにはどうしたらよいのか?
それにはVBAというプログラミング言語をかじらねばならないのである。
VBAとは、Visual Basicという大変有名な言語をベースに、MicrosoftがAccessやExcelといったOfficeソフトをプログラミングできるように開発したものである。
分かりやすくいうと、VBという標準語に対する方言みたいなものだ。
で、このVBAを覚えないと、やりたいことがうまくできないのであるが、実はこれだけは避けたかった。
こういう言語は、奥が深いというか、敷居が高いというか、歯ごたえがありすぎるというか・・・・・・若いころならばともかく、四十を過ぎて頭の固くなった自分が、今から勉強するにはちょっとなぁと怖気づいていたのである。
だが、やります!と宣言した以上、なんとかせねばならぬ。
私も男の子である。いや、子ではないが、ともかく、もがこうが苦しもうが、ここを超えて先に進まねば、明日が見えてこないのだ!
そこで、悲壮な決意に顔を引きつらせ、VBAの解説本を2冊読み込んだ。
いやはや、確かに難しい。
頭にスゥっと入ってこない。
練習問題をこなしながらの学習なのだが、その場限りでどういうわけか記憶にあまり残らない。
自分では理解しているつもりだが、どうも100%の理解にはいたっていないようなのだ。
ああ、なんてこったい。わたし、頭の働きが悪くなったのかしら?
コンマ1秒ほど、そんな不安が胸をよぎったが、いやいや、ぜったいそうじゃない。
これはあくまでも本が悪いのである。
大体、これまでに何冊も買わねばならなかったのも、本の書きぶりがあまりにお粗末だからなのである。
ポイントをついていないというか、微妙に外しているというか。
Amazonの評価を参考に購入したのだが、どうもあまりアテにはならんらしい。
そういや、このサイトを作り直すにあたって、HTMLという言語を勉強したのだが、このときに読んだのはただの一冊だった。今になって気がついたのだが、何気なく書店で手に取ったこの一冊、実は大当たりだったのだなぁと、思わず本に頬ずりしたくなった。
HTMLはVBAよりずっとくだけている言語だし、確かにとっつきやすいのだろうけど、それにつけても本の内容次第で、習得するまでの時間や労力に、随分と大きな開きがあるというのは事実だ。
更に図書館でしつこく2冊借りてきたが、いいと思える記述はほんの一部だった。
こうやって読み続けていれば、いつかは名著にも巡り合えるのかもしれない。だけど、これじゃあまりにも迂遠だ。時間ばかりがたってしまう。
こういうときに役に立つのは、やはりインターネットである。
とくにAccessは歴史があるので、あれこれお役立ちサイトがニョキニョキ立っている。
何の得にもならんだろうに、無償で情報を提供してくれているサイト運営者様には、本当に感謝である。
おかげで勉強がかなりはかどった。
前述の検索機能も、Accessの標準機能でこなす方法が見つかった。
だが、実際に作ってみると、なんと動かない。わけの分からないエラーが出てしまうのだ。
こういうときにもネットが役立つ。エラーの言葉をそのまま書いて検索すれば、対策を記したページに綺麗にヒットしてくれる。いい時代になったものだ。
ちなみに今回の場合、どうやら条件が複雑すぎてAccessが悲鳴をあげているらしい。
思わずくじけそうになる自分を励ましつつ、更に調べると、SQLという問い合わせ言語が使えることが分かった。より正確に言うと、Accessはデータ検索の際に、裏でSQLを作って処理を行っているのである。
ホームページビルダーというサイトを作るソフトがあるが、これはユーザーが作ったイメージを、HTMLというサイトを動かす言語に裏で変換してくれる役割を果たしており、Accessもこれと似たようなことをやっていたのである。
SQLならば、会社勤めをしていたときに、必死で勉強して身につけたものである。もうだいぶサビついちゃいるけど、今でも使いこなせる自信がある。
それにつけても、もう二度と使うことはないと思っていたのに、こんな形でSQLの知識がまた役に立つとは、人生とは不可思議なものである。
などと感慨にふけりながら、Accessが自動生成したSQLを見てみると、なるほど、むちゃくちゃな記述になっている。こんな構造じゃ、そりゃ無理じゃろと思うくらい、ひどい。ホームページビルダーと同じで、ユーザーがこっそり整理してやらないと、すっきりした構文にならないってことらしい。こういうところが、自動化ソフトの弱いところなんだろう。
そこで早速、がらっと作りかえてみたのだが、テストしてみると、これまたなぜか動かない。
またしても、ガクっと自信を失いかけながら、ネットにあたってみると、私が覚えたSQLはOracleというソフトのもので、Accessで使えるSQLとは若干違い、使えないコマンドがあるらしい。これもまた、標準語と方言の違いみたいなものである。
だが、ここまでくれば焦ることはない。ことSQLがベースであるなら、私はいくらでも回避策を思いつくからだ。
とまぁ、こういった具合で、私は日々ほんの少しずつだけど、着実に進化している。
とはいえ、まだまだ完成までには遠い。盛り込まないといけない機能があと幾つもある。そして、多分、そのたびに壁にぶつかるだろう。
だけど、どうしたことか、これが案外、楽しかったりもするのである。
全く不可能なことに対しては、人はハナッから諦めてしまう。
だが、何とか手が届くところにある困難さには、かえって燃え上がってしまうものなのだ。
これはちょっと恋愛に似ているかもしれない。
今のところ、まだまだ私の片思いである。
でもいつか、きっと振り向かせてみせる。
熱い思いを胸に秘め、今日も私はパソコンに向かうのである。
|
|
|