勤怠管理イントラネット版 サンプル
ASP/ADOを利用したアプリケーションの応用例としてイントラネットの環境で動作する勤怠管理システムを紹介します。ここで紹介する勤怠管理システムでは、勤務内容を入力して印刷することができます。勤務内容は、Daily, Weekly, Monthly単位で入力することができます。
Access + Webのダウンロードにサンプルが収録されています。ダウンロードの目次を表示させたら「勤怠管理イントラネット版サンプル実行」をクリックしてください。Internet Explorerにログイン画面が表示されたらログインボタンをクリックします。ログインIDとパスワードは、デフォルト値が表示されています。ログインIDとパスワードは、Access のKintai.mdbに格納されています。

図 勤怠管理のログイン画面
ログインボタンをクリックすると、作業年月入力画面が表示されますのでドロップダウンリストから年月を選択して送信ボタンをクリックします。年度のドロップダウンリストに表示されるアイテムは、システム日付を基に計算して6年分表示します。

図 勤怠管理の作業年月入力画面
送信ボタンをクリックすると、Access のデータベースKintai.mdbを検索して勤務内容が登録されているか調べます。勤務内容がまだ登録されていないときは、新規登録画面を表示します。すでに登録されているときは、入力が完了しているか調べます。入力未完のときは、編集画面を表示します。入力完了のときは、表示画面を表示します。表示画面からは勤務内容を印刷することができます。
新規登録画面からは、顧客名と日別の勤務データを入力します。顧客のドロップダウンリストには、Kintai.mdbの顧客マスタから読み込んだデータが表示されます。明細行には、一ヶ月分のデータが表示されますので、日別に勤務区分、開始時間、終了時間、休憩時間そして勤務内容を入力します。勤務区分のドロップダウンリストには、Kintai.mdbの勤務区分マスタから読み込んだデータが表示されます。開始、終了、休憩時間には、hhmmの形式で入力します。時間を入力してTABキーで次のフィールドに移動すると自動的にhh:mmの形式で表示します。送信ボタンをクリックすると時間が不正なときエラーメッセージが表示されます。Copyのボタンをクリックすると前行のデータをコピーします。データを入力したら送信ボタンをクリックします。

図 勤怠管理の新規登録画面
送信ボタンをクリックすると確認画面が表示されます。この画面からは、勤務内容を編集、削除、印刷、確定することができます。

図 勤怠管理の編集画面
印刷ボタンをクリックしたときは、新規のウィンドウに勤務内容が表示されますのでInternet Explorerの印刷ボタンをクリックして印刷します。

図 勤怠管理の印刷画面からプレビューした例
● 勤怠管理のGlobal.asaファイル
勤怠管理のGlobal.asaファイルでは、Application変数を初期化しています。Global.asaの使い方については、5-7章を参照してください。
リスト Global.asaファイルの内容
|
'--------------------------------------- ' global.asa '--------------------------------------- <script language=vbscript runat=server> sub Application_OnStart on error resume next
application("Visitors") = 0 application("ActiveUsers") = 0 application("ConnectionString") = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & server.MapPath("samples/kintai/webdb/kintai.mdb") application("AppName") = "Access+Web Intranet" application("AppVersion") = "Version" application("PageTitleLeft") = "勤怠管理" application("PageTitleCenter") = "" end sub sub Application_OnEnd on error resume next end sub sub Session_OnStart on error resume next
application.lock application("Visitors") = application("Visitors") + 1 application("ActiveUsers") = application("ActiveUsers") + 1 application.unlock end sub sub Session_OnEnd on error resume next application.lock application("ActiveUsers") = application("ActiveUsers") - 1 application.unlock end sub </script> |
● 勤怠管理のASPファイル
勤怠管理のASPファイルは、画面を表示するとファイルとASPスクリプトが格納されているドライバー用のファイルに分かれています。ドライバーファイルには、各画面の処理ルーチンが登録されています。
|
|
図 勤怠管理の処理フロー
表 ASPファイル一覧
|
ASPファイル名 |
概 要 |
|
00LoginDriver.asp |
ログイン処理の共通処理ルーチン |
|
00Login.asp |
ログイン処理 |
|
10TsheetDriver.asp |
勤怠処理の共通処理ルーチン |
|
10TsheetDate.asp |
作業年月入力処理 |
|
10TsheetAdd.asp |
新規登録処理 |
|
10TsheetAddHelp.asp |
新規登録ヘルプ処理 |
|
10TsheetEdit.asp |
編集処理 |
|
10TsheetEditHelp.asp |
編集ヘルプ処理 |
|
10TsheetVerify.asp |
新規登録/編集の確認処理 |
|
10TsheetConfirm.asp |
確定処理 |
|
10TsheetRemainder.asp |
完了処理 |
|
10TsheetDisplay.asp |
表示処理 |
|
10TsheetPrint.asp |
印刷処理 |
● 勤怠管理のIncludeファイル
Includeファイルは、include file=でASPファイルに組み込まれます。
<!--#include file="include/mylib.asp"-->
表 Includeファイル一覧
|
Includeファイル名 |
内 容 |
|
Adovbs.asp |
ADOの定数定義ファイル |
|
DisplayApplication.asp |
Application変数表示 |
|
DisplaySession.asp |
Session変数表示 |
|
MyLib.asp |
VBScriptの関数および汎用ルーチン定義ファイル |
● 勤怠管理のJavaScript外部ファイル
JavaScriptの外部ファイルは、<script>タグでASPファイルに組み込まれます。
<script language="JavaScript" src="js/mylib.js"></script>
表 JavaScript外部ファイル一覧
|
JavaScript外部ファイル名 |
内 容 |
|
00Login.js |
00Login.aspのJavaScript外部ファイル |
|
10TsheetAddEdit.js |
10TsheetAdd.asp, 10TsheetEdit.aspのJavaScript外部ファイル |
|
10TsheetConfirm.js |
10TsheetConfirm.aspのJavaScript外部ファイル |
|
10TsheetDisplay.js |
10TsheetDispay.aspのJavaScript外部ファイル |
|
10TsheetVerify.js |
10TsheetVerify.aspのJavaScript外部ファイル |
|
MyLib.js |
JavaScript関数定義ファイル |
|
Security.js |
JavaScriptセキュリティ関数定義ファイル |
● 勤怠管理のCSSファイル
CSSファイルは、<link>タグでASPファイルに組み込まれます。
<link rel="stylesheet" type="text/css" href="css/kintai.css">
表 CSSファイル一覧
|
CSSファイル名 |
内 容 |
|
Kintai.css |
勤怠管理のCSS定義ファイル |
● 勤怠管理データベース Kintai.mdbのテーブル
Access のKintai.mdbには、以下のテーブルが定義されています。これらのテーブルは、ASPファイルからADOを経由してアクセスします。
表 データベースKintai.mdbのテーブル一覧
|
テーブル名 |
内 容 |
|
tbl10Customer |
顧客マスタ |
|
tbl10Holiday |
カレンダー(祝祭日を管理します) |
|
tbl10Kintai |
勤務区分マスタ |
|
tbl10Staff |
スタッフマスタ |
|
Tbl10TimeSheet |
勤務内容ヘッダー |
|
tbl10TimeSheetDetails |
勤務内容明細 |