おはようございます。

ishikawaです。

昨日、ExcelとAccessについて機会があれば書きますと書いたのでそのことにつき述べさせていただきます。

両方ともMicrosoft社が提供する表計算ソフトExcelとデータベースソフトAccessです。
ExcelはWordと一緒にメーカー製パソコンを購入するとかなりの高確率でプリインストールされています。
ちなみに私はWordがよく分かりません。簡単な文書はそれこそExcelで作ってしまいます。
余談ですが個人的にはワープロソフトはWordより一太郎が好きです。
やはり日本人が作った日本語ワープロソフトです。ニュアンス、感覚などビシッときます。
ですが、互換性の関係でWordを使うようにしています。
ちなみに、ジャストシステムは唯一?ユーザー登録をしています。

話は戻り、Accessは単体で購入するか、OfficeでもProfessional Editionから入ってきます。
Standard、personalでは入っておりません。
そのため、ユーザーが限定されます。
購入者を見ても明らかに違います。
値段もOffice Professional Editionになると一気に5〜6万円ほどします。
よく人によってはExcelを進化した物、高性能な物がAccessという人がいますが私はそれ反対です。
それは、それぞれソフトの目的が違います。向き不向きがあります。
確かにExcelをある程度使っていてデータベース機能が欲しくなったときExcelで作ろうとしますが、無理が出ます。目的が違っているので、出来なくて当然です。
Accessの機能には格納されている機能からグラフを作成することも出来ます。
そのためExcelの高性能版と思う人がいるのはこの機能があるからかもしれません。
では、それぞれの違いとは何でしょう?
Excelは表計算ソフトです。つまり、計算することが得意です。
Accessはデータベースソフトです。データベースとは先述の通りデータを格納しておきそのデータを
必要なときに必要なだけ必要な形にして提供するソフトです。
なので双方を同じ土俵で比べることは出来ないと考えます。
Accessでも簡単な計算は出来ますが使い勝手が悪かったり細かい計算は苦手のようです。
VBAとか何とかを使うと出来るようですがまだまだ腕が私にはないのでその辺は分かりません。
Excelでも本当に簡単なデータベースは作ることは出来ますが、実務には向いているとは思いません。

では、初心者(Excel中級者)が何故、敷居が高いかというと初心者にはまず、データベースとは何かが
分かりません。私も正直、言って「説明しろ」といわれると「ウッ」っとなりますが1つに
「インプット≠アウトプット」この概念ではないかと思います。これはExcelを使い慣れている人ほど悩むのですがExcelは書類1枚の表で全てを表現します。この1枚で一目瞭然にする事を目的とします。
表なので「インプット=アウトプット」です。
ところがAccessはそうではありません。
インプットするデータを格納(ベース)する引き出しはたくさんありますが、1つの引き出しの内容全てを
使いません。例えば、5個引き出しがあれば、そのうちのこれとこれ、それとそれ、といった形でデータの1部を取りだします。また、データベースの特徴として引き出しそのものを作るところから始めます。
入る内容は決まっているのでどのサイズ(縦長なのか横長なのか)か等デザインを決めます。
引き出しであれば材料は木材か?アルミか?
取っ手はいるのか?鉄製にするのか?プラスティック製にするのか?など細かく決めます。
これが昨日書いた、仕様書を徹底的に書く事に繋がります。
これをしっかりしないと作ってみて不備が出たり間違いが起こります。
この関係が分からないとデータベースでは挫けると思います。
ただ、Accessは優秀?なソフトで、軌道修正がしやすいと思います。
ろくに設計図を書かなくても、プログラミングの知識が無くても作ることが出来ます。
もちろん、後からこれが必要だった、あれが必要だったということは良くあります。そして、修正追加して失敗する事もあります。これが2度手間、3度手間になり「手戻り」という事象になります。
軌道修正する際もExcelでは目の前にあることが全てです。縦と横で構成されている画面が全てですので間違いなど発見しやすいと思います。
Accessの場合、データベースの概念がなかったり、Excelと同じ感覚で扱うと失敗します。
それでも他のデータベースソフトに比べれて敷居は低いのではないかと思います。
この敷居の低さ、設計図をろくに書かなくても出来るところが本業のプログラマさんに嫌われる要因だと聞いたことがあります。設計図をしっかり書かないから、不良箇所がわかりにくい。トラブルが発生した時の責任の所在がはっきりしにくい等と言われます。また、セキュリティの問題、ネットワーク/サーバ形態で使用した場合の問題などあります。
これが、私が考えるExcelとAccessとの違いだと考えています。

そして、Accessの特徴は、難しい言語が分からなくても機能によって同等の結果が得られると言うことです。言語で書いても機能使ってもある程度同じ結果を得ることが出来ます。
難しいやり方でできる人はそのようにすればよいし、そうでなければそれなりにできるということです。
今までは難しいやり方しか習っていなかった?のでこれがダメならもうダメだ。と思っていました。
しかし、今回の研修でそうばかりではないこと、違った形のアプローチがあること、行いたい処理はまとめられているということを学んだとともにこの新式の違いを気づくことができました。