2005年 9月 04日

Excelをインターフェイスにする方法

投稿者 by vulcan at 02:14 / カテゴリ: 駄文 / 0 コメント / 0 TrackBack

Excelは、その自由度の高さから、インターフェイスにとても向いていると思っています。つまり、開発が容易なのですが、更に機能も充実しているExcelですから、いろんなことがてんこ盛りのインターフェイスを作ることができます。また、印刷にも強いのも魅力です。

Excelをインターフェイスにする場合、DBへのアクセスは、主流はADOになります。ADOはDBがmdbファイルである場合に限らず、csv、txt、xlsといったファイル形式でもADOで操作できますし、MSDE、MSSQLサーバーでもADOで操作します(こちらは未確認)。

他には『外部データの取り込み』でクエリ取得する方法が便利です。こちらはVBAを組まないでいいので、開発は一瞬で終わります。操作もAccessでクエリを作成するのと同じ感覚でできます。但し、データの取得のみで、追加、更新操作はできません。追加、更新が必要な場合にはADOでアクセスする(VBAを組む)必要があります。

他には、DBのデータを読み書きするだけであるならば(SQL操作をしないならば)、DBをcsvかtxtで作成してOpenステートメントでアクセスする方法が非常に高速でお勧めです。

このように、Excelをインターフェイスに選択すると、いろんな種類のDBに対応でき、しかも、DBへのアクセス方法も様々な手法を採用することができます。

また、Excelは、取得したデータを加工するのにも向いています。これは、スプレッドシートで式が使える、グラフ機能がある、解析ツールや最適化ツール等が用意されている、VBAがスプレッドシートに展開したデータを取り扱うことができるため非常に直感的にプログラムが組める、などの理由が挙げられます。

ADOによるDBアクセスにせよ、『外部データの取り込み』によるクエリ取得にせよ、常時同期を取り合わないことがメリットになります。mdeファイルをインターフェイスにした場合、DBがmdbファイル(Jetデータベースエンジン)であった場合、常時同期を取り合うために同時アクセスがあると非常に重くなります。おそらく多くの現場において、常時同期が本当に必要とされるケースというのはまれで、大抵は随時同期で足りると思います。そういう意味でも、Excelをインターフェイスにした方がニーズに相応したものが作れるでしょう。

ビジネスシーンにおいて、Excelファイルが読み込めないという状況は我が国では考えられないため、Excelをインターフェイスにすることのデメリットはほとんど思いつきません。強いてあげるなら、HtmlファイルやASPファイル、xmlファイルなどをインターフェイスにした場合と比べて、ブラウザの立ち上がりに比べて、Excelの立ち上がりは重い(ウィルススキャンされる設定だと)点ぐらいでしょうか。

Excelは同時に複数が開く場合、一人以外は読み取り専用となりますが、DBが別にあるため読み取り専用でも構いません。また、xlaファイルをうまく作りこめれば配布の問題も相当クリアできます。この点は、井上治氏のサイトが参考になります(後日自分も取り上げて見たいと思います)。

このエントリーのトラックバックURL:
http://www.kodakara.com/cgi/mt/mt-tb.cgi/405
コメント
コメントする












名前、アドレスを登録しますか?