Webアプリ開発事始 第6回

WebアプリケーションとHTML(2)
~Accessのデータアクセスページを使う
長谷川裕行
有限会社 手國堂

追加・削除のできるWebアプリを作る(1)
~データベースのデザイン

データアクセスページのサンプルとして、「非常勤職員の出勤簿」を作ってみましょう。リレーションを設定したテーブルを使い、レコードの移動、追加、削除などができ、しかも演算フィールドによって計算結果を表示できるようにしてみます。

基本的な操作は、Accessの選択クエリからフォームやレポートを作る作業と、大きく変わりません。しかしリレーションや演算フィールドの扱いが少し異なります。


- 使用するテーブル -

ここでサンプルとする「非常勤職員の出勤簿」は、以下の2つのテーブルからできています。

t_非常勤職員
非常勤職員の名簿を記録するマスターテーブルです。フィールド構成は表1のようになっています。「単価」フィールドは、非常勤職員(要するにパートタイマーとアルバイト)の時間給を示しています。常勤職員と異なり、1箇月に何時間働いたかで給与が決まります。

表1:テーブル“t_非常勤職員”のデザイン

t_出勤簿
非常勤職員の出社時刻と退社時刻を日別/個人別に記録していきます。フィールド構成は表2のようになっており、「職員番号」フィールドの値をキーとして“t_非常勤職員”テーブルと1対多のリレーションを設定します。“t_出勤簿”が多側、マスターとなる“t_非常勤職員”が1側です。

表2:テーブル“t_出勤簿”のデザイン


- 選択クエリのデザイン -

テーブル“t_出勤簿"には、出社と退社の時刻しか記録されません。これらを元に計算を行い、1人の非常勤職員の1日の勤務時間を計算し、さらに勤務時間と単価(時間単位の給与)を乗算して、1日の給与額を求めなければなりません。

これらは選択クエリの演算フィールドで求めます。クエリは“q_出勤簿”という名前で、表3および画面1のようなデザインとなります。

表3:選択クエリ"q_出勤簿"のデザイン
画面1:選択クエリ“q_出勤簿”のデザインビュー


- 基礎データの確認 -

テーブル“t_非常勤職員”には、画面2のようにあらかじめ各非常勤職員の基礎データが入っています。本来なら、この他に氏名の読みがなや住所、電話番号などの情報も必要ですが、煩雑になるので簡単なものにしておきました。

この基礎データを使って、選択クエリ“q_出勤簿”を通して各非常勤職員の勤務状況(何日に、誰が、何時から何時まで勤務したか)を記録したものが、画面3の選択クエリ“q_出勤簿”のデータシートビューです。

画面2:レコードを記録したテーブル“t_非常勤職員”のデータシートビュー

画面3:レコードを記録した選択クエリ“q_出勤簿”のデータシートビュー



- リレーションは別途設定する -

 Accessで通常作成するアプリケーションなら、非常勤職員の出勤情報は選択クエリ“q_出勤簿”を元にしたフォームで入力します。データアクセスページでは、このようにリレーションを設定したテーブルを連携させてデータを入力したり、削除や書き換えを行う場合には、まずデータを操作したいテーブルを元にページを作り、それにリレーション先のテーブルまたはリレーションを反映させた選択クエリから、フィールドを抜き出して貼り付けることになります。

選択クエリ(サンプルでは“q_出勤簿”)を元にしたページも作成できますが、そうするとデータの入力や削除ができず読み取りのみ(リードオンリー)のページとなってしまいます。この点に注意しましょう。


- 目次 -
トップページ
Accessで作れるWebアプリケーション
追加・削除のできるWebアプリを作る(1)
~データベースのデザイン
使用するテーブル
選択クエリのデザイン
基礎データの確認
リレーションは別途設定する
追加・削除のできるWebアプリを作る(2)
~ページの作成と保存
細かな手直し
データアクセスページの保存
ファイルの保存場所に注意
クライアントのセキュリティ設定
あとがき

Copyright © MESCIUS inc. All rights reserved.