Microsoft Access Club >初心者講座 >休暇申請管理ソフト >このページ >次頁 - 前項  サイト内検索


社員別休暇申請閲覧フォームの作成_1:休暇申請管理ソフト



データを入力すればそれを見たいと思うのが人情で、他項目に亘って表示されれば、データ入力も面白いもので‥。

という訳で、今回から数回に亘って閲覧フォームの作成をお話します。考えていますのは、下記のような2パターンのフォームです。

  1. 社員別に表示する。
  2. 日別に表示する。

 

社員別の閲覧フォームの作成

今日は、1.の"社員別に表示"を解説していきますね。フォームの完成図は下記のような感じです。

 

 

考え方としては、3個配置しているリストボックスの一番左にある社員選択リストボックスを基にして、他のリストボックスを連動させています。
また、下部にある休暇の取得日などは、Dlookup関数を利用してデータを表示させています。原理としてはとっても単純だと思いますよ。

 

社員選択リストボックス

それでは、社員選択リストボックスを見ていきましょうか。このリストボックスのプロパティは下記のとおりです。特に注意点はありません。

 

 

そうそう、このリストボックスには、値集合ソースを記述していません。上記の赤丸をしている オプショングループ(フレームと命名)の更新後処理イベントに下記プロシージャを記述し、 このリストボックスの値集合ソースに 代入 しています。

 

オプショングループ
Private Sub フレーム_AfterUpdate()

    Select Case Me.フレーム
        Case 1
            Me.リスト.RowSource = "qry_list_1" '値集合ソースに代入。
        Case 2
            Me.リスト.RowSource = "qry_list_2" '値集合ソースに代入。
    End Select

End Sub

 

このオプショングループは、社員マスターテーブルに入力されている社員全員と、年度別に取得している社員とを区分するために設けています。
よって、この切り替えが不要の場合は、リストボックスの値集合ソースに"qry_list_2"を指定し、オプショングループ全体を削除して下さい。

 

次に、これらのクエリについてお話します。

qry_list_1

 

 

このクエリは、社員マスターとして登録されている全ての社員を表示するようにしています。勿論、管理者以外ですが‥。表示するフィールド数は2個です。リストボックスでは、1列目を非表示(幅を0cm)としています。
但し、リストボックスでの連結列は 1 です。ちょっと、ややっこしいですが、ご辛抱下さい。

 

qry_list_2

 

 

上記クエリと同じような構成ですが、敢えてWhere条件を独立させずにグループ化の抽出条件を利用しています。3つ目のフィールドにある Years は独自のFunction関数です。

これは、会社によって有休を取得した際の 年度 が異なりますので、各月を何年度に該当するのかを、この関数を利用して判断させています。そして、年度を選択できるコンボボックス(年度選択と命名)を配置し、そこからのデータを抽出条件としています。

この関数についての詳細は、No.11の「初心者講座_休暇申請ソフト_11」の最後に説明していますのでご覧ください。

 

長くなってもいけないので、今回は終了します。
 


社員別休暇申請閲覧フォームの作成_1:休暇申請管理ソフト


 

-Microsoft Access Club-