<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>Access のデータをブラウザで・・・ 
  Page1 > Page2Page3Page4Page5Page6Page7



■Access のデータをブラウザで・・・#1

「Access のデータをブラウザから更新したり照会したりするにはどうしたらいいんですか?」
この工房開いてから、このご質問、ものすごくたくさんいただきました。多分「再クエリー」の次にたくさんいただいたんじゃないかなぁと思います。
つまり、
HP上にテキストボックスとかあって、ここからデータの入力したい、ってことですよね。
インターネットでっていうか、イントラネットっていうか、要するに会社の中のネットワークで利用したいって感じでしょうか。

個人的には、このテーマ、仕事で何度も何度も痛い目にあっているので、ほんとはキライです。
できればもうやりたくないです。

でも、Access2000に「データアクセスページ」なんていうオブジェクトが新しく加わったし、ますますこういう需要が増えそうなんで、
なんで自分はこれがキライなのか、探求してみるという意味で、解説ページを作ってみました。
でも、多分、ずっとキライだと思いますけど・・・。


フラウザで照会できるようにしたい、っていう場合、ライセンスの問題を何とかしたい・・・という方、けっこういらっしゃるんじゃないでしょうか。

当たり前ですけど Access で作ったフォームやレポートを使って出力するには Access を起動しなきゃいけないし、
各パソコンの中に Access のソフト導入しなきゃならない。
でも、エンドユーザーにはふだん Access なんていらないし、
開発するんじゃなくてただ利用するだけなのにパソコンのハードディスクの容量食いたくないってケースですね。
もっともなんですが Access はパソコンソフトですから、これはやむをえないでしょう。
(CDなんだから何台でもインストールできるじゃん、っていうのは、なしですよ)。

ランタイム版のようなものを作成するツールもあるみたいですけど・・・。
逆にオブジェクト管理が難しくなっちゃいますんで、素直に Access 導入して MDB を開いて使ったほうがよいと思います。

と、なると、ブラウザからサーバーのデータベースを開いて照会したり入力したりできると、各パソコンにAccessを1セットずつ導入しなくても大丈夫だしなぁ、という考えにたどり着くってわけですね。こういう切り口で検討されてる方、結構いらっしゃるんじゃないでしょうか。

それはそれで一理あります。
でも、基本的にブラウザ経由のデータベースには、Accessが今まで必死こいて守ってきたことを望むのは難しいと思うんですね。
データベースの信頼性ってやつです。これを望むような仕組みは、ブラウザ経由では無理じゃないかなぁと思うわけです。


とりあえずできないことはないですけど、これをやるためには Access そのものの知識よりも、HTMLSQLブラウザネットワークのサーバーの知識の方がたくさん必要になります。それってナニ?という方は、多分・・・手を出さない方がよいでしょう。

ウチの工房にもいろいろありますけど、掲示板とかゲストブックって、皆さん自由に書きこみできますよね。
あれってどんな仕組みで動いてるかご存知です?
ふつう、インターネットで見ることができるホームページって、 html っていう形式で書かれたファイルをブラウザに表示してるんですね。
ワープロの文書開くみたいに、インターネット上のいろんな所にある html 形式のファイルを、ブラウザ(インターネットエクスプローラとかネットスケープナビゲータとか)で開いてるわけです。

html 形式というのは、突き詰めちゃえばメモ帳とかでちょこちょこ入力する、いわゆる テキストファイルみたいなもんなんですけど、記号とかの使い方がちゃんと決まってて、誰がどこで開いても、って指定した文字は赤く表示されて、真中って指定した行の文字は真中に表示されるわけです。こういう記号のことを「タグ」っていいます。

つまり、皆さんが見てるブラウザ上に Access のデータを表示したいって思ったときでも、最終的に「 html 形式」になってないと、データをそのまま表示したってブラウザはちんぷんかんぷんでナニを表示していいかわかんないんですね。
まずこれが一点。この部分は絶対譲れません。


じゃあ、html 形式ってどういうのかっていうと、ちょっと体験してみましょうか。
みなさんこのページをご覧になってるってことは、なんかしらのブラウザをお使いですよね。ええ、バージョンは低くても高くても実験はできます。

Access で、なんか適当なテーブルを作ったとしますよね。で、このテーブルを html 保存してみます。

メニューバーの[ファイル]→[ html 形式で保存]って選んでみましょう。Webページ作成ウィザードというのが起動して、データベース内のオブジェクトを選択する画面が出てくると思います。

一見、フォームとかレポートも簡単にいきそうですけど、そうは問屋が卸さないんですよ〜。
まあ、この辺は興味ある方はいろいろ試してみてください。今回はテーブルだけやってみますね。

で、パターンが3パターンあるんですけど・・・
htmlのまま先に進み、どっか適当なフォルダに作成してみます。

あとはまあデフォルトのまんまで、[次へ][次へ]とかたかたボタンをクリックしていきます。

と、どっかのフォルダに適当な名前で、html 形式のファイルがいっこ出来上がります。
デフォルトのままでいいですけど、どのフォルダに作ったか、くらいはちゃんと見といてくださいよ。

で、ブラウザを起動して(今見てるこのウィンドウでよかですよ)、
メニューバーの[ファイル]→[開く]かなんかで、今作った html 形式のファイルを無理やり呼び出します。
なんか、それっぽいの出てきますよね。

ええと、なんかエディタみたいの、お持ちですか???あ、Word みたいなワープロソフトはよくないです。
「秀丸」とか「 WZ 」とかいうやつ。なかったらメモ帳でもいいんですけど・・・。
そういうやつで、この html を開くと、こんな感じになります。
これこれ。これをブラウザは1行ずつ読み取って、画面に表示して上のような状態にしてるんですよ。

で、たとえば「表題をテーブル名じゃなくて、 別のにを変えたいなぁ」とか「文字を大きくしたいなぁ」とか思ったら、このファイルをいじります。
例えば、タイトルがTable2じゃなんなんで、「かせぎ一覧」にして、少し文字を大きくしてみました。


で、このファイルを保存して、ブラウザの方に戻って、再読み込み(リロード)すると、ほらね。

もう一度htmlをブラウザが読みとって、文字を大きく表示します。
ちょこっと書き換えたりするなら、html の「タグ」の知識がないとイケマセン。
ブラウザ上の表示の体裁を整えるのは Access の機能ではなくて html の記述方法なので、タグが読めた方がいいですねぇ。

さて、html というのは、読取専用です。じっくりこの html ファイルを見てみると、テーブルの中の値が直接書きこんでありますよね。
テーブルの中味を参照しているのではなくて、テーブルの中のレコードを全部写して表示してるんです。
テーブルの中味を誰かが書き換えても、データ件数が増えても減っても、この html 自体はずーっとこのままです。
テーブルの中味が反映されるわけじゃないです。

ウチの工房にもありますけど、掲示板とかゲストブックって、よく見かけますよね。
誰でも自由に書きこみができるページです。
これはどういう仕組みになっているのか????単なる html ではありません。

CGI と呼ばれる技法で書かれたファイルをブラウザで表示してるんです。

しかも、ただ表示してるわけじゃありません。
html は読み取りだけなんで、プロバイダさんのサーバーに預けとけば世界中どこでもブラウザで表示することができるんですけど、
掲示板とかゲストブックって、見るだけじゃなくてブラウザからなんか書きこんで、それを残していくんですよね。

その場合は、CGI って技法で書いたファイルを、プロバイダさんのサーバーの「CGI を実行できる場所」に預けます。
そう、ただ預けただけじゃだめなんです。
このファイルを開いてゲストブックやBBSとして機能するためのディレクトリってのが、プロバイダさんのサーバーにないとダメなんですね。
そういう用意のないプロバイダさんもありますよ。
CGI使えないところって。

Access のテーブルのレコードを、その都度一番新しい状態で照会したい、って場合も、やっぱりただ html 作っただけじゃダメで、「実行する」形式のファイルじゃないとダメなんです。

で、その「実行する」形式のファイルなんですけど、実際いろいろあります。

CGIってのもそうなんですけどね、Access の中で「IDC/HTX」「ASP」って、2種類、作ることができるんです。SP っていうのはけっこうあちこちで見かけると思うんですけど・・・。

こういう形式のファイルを作って、こういう形式のファイルを実行できるところに保存して、このファイルをブラウザで開けば、開いたときのテーブルの内容がブラウザに表示されるわけです。誰かがレコードを追加したり修正したりしても、次にまたこのファイルをブラウザで開けば(あるいはリロードすれば)最新の状態を都度テーブルから拾ってきて画面に表示してくれます。

さっき、html 保存するとき、選択肢が3つ出てきましたよね。
あそこで選択すれば「IDC/HTX」と「ASP」形式のファイルを作ることができるので(あんまり見栄えはよくないが)この部分は何とかなります。

なーんだ簡単じゃん、と、思うなかれ・・・。

問題は「IDX とか ASP とか、実行する形式のファイルを実行する場所」ってことですね。
会社のサーバーが WindowsNT で(4.0かな)、しかも会社でネットワークを管理している人が「ああ、それならこのフォルダの中に保存して使って」と言ってくれたら、実験できますけどね。勝手にやっちゃダメですよ。サーバーの中はみんなのものです。

ほんとに難しいのは、そういうとこですよね。