同じOfficeの仲間でも、AccessはWordやExcelとはちょっと違ったHTML化の機能を持っています。
- ファイルではなくオブジェクトを書き出す -
Accessにも、データをHTML化して書き出す機能が備わっています。但しAccessの場合は、データベースファイル(mdbファイル)全体ではなく、その中のテーブルやクエリ、フォームなど個々のオブジェクト単位でエクスポート(他形式に変換しての書き出し)することになります。
このときエクスポートされるのは、それぞれのオブジェクトが保存または管理しているデータ――レコードセットです。従って、テーブルやクエリを元に作成したフォームやレポートをHTML形式でエクスポートすると、フォームまたはレポートの元になったテーブルあるいはクエリのレコードセットが、HTMLのテーブル(データベースのテーブルではなく、<table>タグによる視覚的な表)として出力されることになります。
- 選択クエリをHTML化する -
AccessでのHTML出力機能を試してみましょう。サンプルに含まれているex05.mdbというデータベース・ファイルには、顧客と商品のマスターテーブルを参照して
いつ どの顧客が どの商品を 何個発注したか
を記録するテーブル“t_受注”と、その内容を2つのマスターテーブルへの参照をたどって提示する選択クエリ“q_受注”が入っています。
選択クエリ“q_受注”の実体は、元になったテーブル“t_受注”の内容を具体的に表すレコードセットです。その中身は表1、デザインは図1のようになっています。
表1:受注情報を記録したテーブル“t_受注”を元に、具体的な内容を提示するクエリ“q_受注”のレコードセット
図1:選択クエリ“q_受注”のデザイン
- すべて表形式で書き出される -
各オブジェクトの内容をHTML文書として書き出すには、データベースウィンドウで目的のオブジェクトを選択し、メニューから「ファイル(F)」→「エクスポート(E)」を選択します。
ファイル保存のダイアログボックスがオープンするので、「ファイルの種類(T)」で「HTMLドキュメント(*.htm;*.html)」を選択し、ファイル名を入力して保存場所を指定し、[保存]をクリックすれば、HTMLファイルが生成されます。
リレーションを活かして具体的な内容まで提示するクエリ“q_受注”をHTML形式でエクスポートした“ex05q_受注.htm”を、Internet Explorerで表示させたものが画面6です。元になったテーブル“t_受注”をエクスポートした“ex05t_受注.htm”では、画面7のように顧客名や商品名が表示されません。
画面8は、クエリ“q_受注”を元にして作った単票形式の入力用フォーム“ex05f_受注.htm”ですが、Accessでデザインしたフォームの体裁ではなく、表形式として表示されます。先述したように、Accessでは、あくまで「オブジェクトの元になっているレコードセットの内容」をHTML化するためです。
元のフォーム(画面9)と見比べてください。
画面6:選択クエリ“q_受注”をエクスポートしたHTMLファイルをInternet Explorerで表示させた
画面7:リレーションを設定したテーブルをHTML化すると、テーブルの中身だけが表示される
画面8:フォームをHTML形式でエクスポートすると見栄えのよい表になるが、単票形式ではなく一覧表になってしまう
画面9:“ex05f_受注.htm”の元になったフォーム“f_受注”
- VBAでHTMLを書き出す -
Wordの文書をHTML化する機能は、WebアプリケーションではなくHTMLの編集機能だと言えます。Wordはワードプロセッサ――文書の作成を主体としたソフトであり、ExcelやAccessのように大量のデータをさばくためのアプリケーションではありません。
一方、ExcelやAccessは単一の目的を持った業務処理を作成できます。そうした業務処理の中で、処理結果をHTMLとして生成する機能を利用すれば、その業務処理は一応Webアプリケーション、またはそれに類するアプリケーションと呼べるでしょう。
例えば、ExcelでVBAを使ってワークシートの内容をHTML化し、それを特定のフォルダに書き出すようなプロシージャを作ることもできます。リスト3を参照してください。
リスト3:Excelワークシート上の特定の範囲を、HTMLファイルとして書き出すプロシージャ
|
|
|