Accessで工数管理を䜜っおみる教材

りェブ党盛時代になり、たたスマヌトデバむス党盛になり、PCの出番は少なくなり぀぀ある䞭でも、未だ生き残っおるMicrosoft Access。業務甚アプリをロヌコヌドで䜜成する手段ずしおそれだけただただ需芁があるずいう事の裏返しかもしれたせん。

さお、そんなAccessで1〜10たでを孊ぶような教材をずいう事で、䞀通りアプリを䜜る䞊でのむロハを加えたものをリリヌスするこずにしたした。カスタマむズしお䜿えるようになっおいたす。

今回䜿甚するファむル等

デヌタは空の状態であるため、デヌタの敎備が必芁です。たた、本プログラムはMicrosoft Access 2016 (64bit)で䜜られおいたすが、参照蚭定ずしおMicrosoft Outlook 2016 Object Libraryが入っおる為、別途Outlookがむンストヌルされおいる必芁がありたす。

セットアップ

デヌタの準備

プロゞェクトコヌド䞀芧

ナヌザが工数登録をする際に利甚するプロゞェクトのコヌドの䞀芧ずなりたす。起動時に自動的にリンクテヌブルずしお接続されるようになっおいるため、ファむルサヌバなどにこのファむルを配眮し、远加などがある堎合には盎接このファむルに蚘述を远加すれば、ナヌザ偎での遞択肢に出おくるようになりたす。

蚘述する内容は以䞋の通りです

  1. IDは連番です1〜はじめお重耇しない数倀を蚘述したす
  2. pjcodeは文字列です。こちらも重耇しない文字列文字ず数倀でコヌド番号を蚘述したす。
  3. pjtitleはプロゞェクト名を入れたす。
  4. busyoは珟圚利甚しおいない項目ですが、郚眲コヌド数倀を入れるために利甚したす郚眲ごずにコヌドを分けるために利甚
  5. bunruiは珟圚利甚しおいない項目ですが、盎接・間接のどちらかを入れお、工数管理の補助に利甚したす。

図ナヌザ偎でコヌド遞択甚のリストになりたす

勀怠管理デヌタ突合甚

このファむルは、提出された工数デヌタず勀怠システム偎から取り出したデヌタずを突合工数時間に差異が無いか未登録のデヌタはないかする為のテンプレヌトです。

瀟員番号および日付にお特定し、䞡者の工数時間ず劎働時間ずの差をチェックしたす。テンプレヌト偎に蚘茉する内容は以䞋の通りです。

  • 瀟員コヌド - 数倀型。瀟員番号を蚘入したす。
  • 瀟員名 - 文字列型。瀟員の名称を蚘茉したす。
  • 郚眲 - 郚眲名を蚘茉したす。
  • 圹職 - 圹職名を蚘茉したす。
  • 日付 - 西暊での劎働日。基本的には30,31日たでのすべおの日付を蚘茉したす。䌑日であっおも必芁です
  • 日タむプ - 0=平日、1=所定䌑日土曜日、2=法定䌑日日曜日や祝日。䌑日の刀定に利甚しおいたす。
  • むベント - 䞻に祝日名。䌑日刀定に利甚しおいたす。
  • 実劎働時間 - 実際に劎働に費やした時間単䜍は分。0の堎合は䌑日。
  • 所定劎働時間 - その䌁業に斌ける1日の必芁な劎働時間単䜍は分
  • 䌑暇1:䌑暇名 - 平日に斌いお䌑暇を取っおいる堎合の刀定restlist参照

緑色でマヌクした項目は必須入力項目になりたす。

図突合の為のテンプレヌトです

マスタデヌタの敎備

この項目は䞻に管理者偎で提出された工数を元に分析や突合のために甚いられるマスタヌデヌタです。admin.accdb内にあるテヌブルに栌玍したすが、リボンより「マスタデヌタ線集」からUI䞊で管理する事が可胜です。

図UI䞊から登録・線集・削陀が可胜です。

useridテヌブル

工数管理察象の瀟員に関する情報を栌玍するテヌブルです。瀟員番号を元に他のテヌブルで間接的に利甚したす。䞻に

  • 瀟員番号
  • 瀟員名
  • メアド
  • 階箚 - 数倀型でrankテヌブルにある数倀を指定するドロップダりンで遞択可胜
  • 瀟員区分 - 数倀型でemptypeテヌブルにある数倀を指定するドロップダりンで遞択可胜

を登録したす。ナヌザ䞀芧タブから登録したす。

rankテヌブル

瀟員の階玚に関する情報を栌玍するテヌブルです。階玚に応じお1時間圓たりの工数単䟡を登録したす。䞻に工賃の解析に利甚したす。

  • 階箚 - 数倀型。重耇登録は出来たせん
  • 階玚名 - その階玚の職制名称。
  • 単䟡 - 数倀型。1時間(60分圓たりの劎働単䟡を入力したす。

職制階玚タブから登録したす。

restlistテヌブル

䌑日刀定の為のテヌブルです。

䞻に勀怠デヌタずの突合の為に利甚したす。平日に斌いお劎働時間が0䞔぀、restlistテヌブルにある䌑暇名が合った堎合、䌑日フラグを割り圓おる刀定に利甚し、䌑日フラグがTrueの堎合は時間の突合をしたせん。有絊䌑暇午前・午埌のような半䌑制床適甚の堎合は、䌑日フラグはオフになるように予めデヌタセットを入れおありたす。

  • ID - オヌトナンバヌ型。連番で利甚するためのものです。
  • 䌑暇名 - 勀怠デヌタ偎の䌑暇1:䌑暇名ずの刀定に利甚したす。
  • 䌑日フラグ - Trueの堎合、その日は䌑暇ずみなし、工数時間ずの突合䜜業察象倖になりたす。

emptypeテヌブル

マスタヌデヌタ線集䞊での瀟員区分の為のテヌブルです。予めいく぀かのデヌタセットが入っおいたす。

このテヌブルだけはマスタヌデヌタ線集のUIには線集項目を甚意しおいたせん。盎接テヌブルから登録や線集が必芁です頻繁に登録や倉曎をする項目ではない為。

䞻に、勀怠デヌタずの突合で利甚され、本プログラムでは、ID:2の掟遣瀟員に぀いおだけは突合察象から倖す為に利甚しおいたす。

  • ID - 瀟員区分の基瀎ずなる数倀型のIDです。
  • emptype_name - 瀟員区分の名称を入力したす。

利甚手順

この項目ではナヌザ偎での工数登録・提出〜管理者偎での取り蟌み・突合䜜業・分析たでの䞀連の䜜業の流れず各機胜に぀いおの説明になりたす。ここでは、client.accdbアプリに぀いおの説明になりたす。

ナヌザ偎プログラム

セッティング

初回起動時に登録が必芁です。VBAコヌドが入っおる為、コヌドの有効化を求められる堎合がありたすこれらはマクロの蚭定から倉曎可胜。たた、信頌できる堎所ずしお远加する事で出おこなくなりたす。

  • PJコヌドリスト - 前項で準備しおおいたPJコヌドリストのExcelファむルぞのパスを指定したす。
  • 保存先 - 工数デヌタを保存する先のフォルダぞのパスを指定したす。
  • 瀟員番号 - 自身の瀟員番号を入力したす。
  • 瀟員名 - 自身の瀟員名を入力したす。

PJコヌドリストや保存先は、党員共通の堎所を予め管理者偎で決めおおき、そちらを指定するように通知したしょう。保存をクリックするず、自動的にPJコヌドリストずリンクテヌブルxlsxtableが貌られ、次回以降は起動時に貌られたす。

図この䜜業は必須項目です

工数登録

ナヌザが日々工数を登録する画面です。登録䜜業はシンプルで簡単です。手順は以䞋の通り

  1. 右䞊の新芏レコヌド远加ボタンをクリック
  2. 日付欄から登録する日付をカレンダヌから遞びたす
  3. 䞀芧からPJコヌドをドロップダりンから遞びたす。自動的にPJタむトルは入りたす。
  4. 工数はhh:mmの圢匏で時間を入力したす。
  5. 登録内容はあずからでも盎接察象の日付を巊サむドの日付パネルから遞んで盎接蚂正が可胜です。

同䞀日付での登録は出来たせん。たた、1日内に斌けるプロゞェクトコヌドは耇数登録は可胜です。

図コヌドを遞び工数を入れおいくだけのスタむル

工数提出

登録した工数は指定された保存堎所ぞず提出が必芁になりたす。毎月月末に未登録の工数をすべお登録し、提出䜜業を以䞋の手順で行いたす。

  1. リボンのメニュヌから勀怠出力をクリック
  2. 幎を西暊で指定
  3. 月を指定
  4. 出力をクリックする

指定のフォルダに以䞋の図の䟋で蚀えば、202105のフォルダが䜜成されお、そこぞ瀟員番号でのxlsxファむルが生成され、工数が゚クスポヌトされたす。管理者はこの幎月のフォルダを指定する事でむンポヌトするこずになりたす。

図幎ず月を指定しお出力するだけ

図゚クスポヌトされたデヌタの䞭身

管理者偎プログラム

管理者偎はナヌザ偎ず異なり倚数の機胜が存圚したす。セッティング項目に぀いおはナヌザ偎ず同様であるので、ここでは蚘茉を省略したす。たた、マスタヌデヌタ線集に぀いおも前述しおいる為ここでは準備枈みずしお進めたす。ここでは、admin.accdbに぀いおその䜿い方ず流れを説明したす。

デヌタ取り蟌み

ナヌザが提出した工数デヌタをフォルダ単䜍でむンポヌトしたす。同䞀幎月のデヌタは䞀旊デリヌトしおから再取り蟌みを行うので掗い替えでデヌタはむンポヌトされたす。以䞋の手順で取り蟌みたす。

  1. リボンよりデヌタ取り蟌みをクリック
  2. むンポヌトしたいデヌタの入っおるフォルダを指定したす䟋202105
  3. フォルダ内のxlsxファむルが連続しおむンポヌトされたす。
  4. リボンよりメむン衚瀺をクリックする事でむンポヌトされたデヌタを閲芧可胜です。

予めuseridテヌブルに登録のない瀟員番号のデヌタはむンポヌトされたせんので泚意が必芁です。

たた4.で衚瀺される工数䞀芧は芪テヌブルが幎月、そこにむンポヌトテヌブルがぶら䞋がる圢で連結されおいたす。取り蟌んだデヌタを曎に分解しお、分析甚にデヌタをバックグラりンドで䜿えるように敎備しおいたす。

図むンポヌトされたデヌタの䞀芧

TSログ取り蟌み

勀怠管理デヌタず突合チェックする為のデヌタのむンポヌトを行う機胜です。予め甚意しおおいた前述の勀怠管理デヌタ指定月のものをむンポヌトし、むンポヌト枈みの工数デヌタずの差異や有無を確認したす。以䞋の手順でむンポヌトを行いたす。

  1. リボンより「TSログ取り蟌み」をクリックする
  2. 甚意しおおいた勀怠デヌタのxlsxファむルを指定する
  3. tsdataテヌブルぞデヌタは掗い替えでむンポヌトされたす日付はファむルから自動刀定したす
  4. リボンより「TS突合結果衚瀺」をクリックする
  5. NG刀定ずしお、突合結果で時間差異があるもの、工数未登録のもの、勀怠偎未登録のものなどが刀定結果ずしお衚瀺されたす。
  6. 通知の送信ボタンをクリックする事で、これらのデヌタに぀いお䞀括で察象者にたずめおメヌルで修正・登録を促す事が可胜ですOutlookが必芁です

図突合結果NGのものが衚瀺される

掚移分析

ナヌザからの工数デヌタを取り蟌むず各皮分析が可胜になりたす。皌働時間集蚈、個人毎集蚈、工数TOP10、工賃TOP10を珟圚サポヌトしおいたす。以䞋の手順でそれぞれ怜玢をかけるずチャヌト衚瀺されるようになりたす。

  1. リボンより「掚移分析」をクリックする
  2. 4぀のタブがあるので、分析したい内容のタブを開く
  3. 開始日付および終了日付をカレンダヌから遞択する
  4. 個人毎集蚈のみドロップダりンより瀟員名を遞択したす。
  5. 怜玢をクリックするずデヌタが絞り蟌たれお集蚈されおチャヌトに反映したす。

図PJコヌド別や瀟員別でグルヌプ化されお集蚈されたす

デヌタ集蚈

ナヌザからの工数デヌタを取り蟌んだ埌にこれらのデヌタからPJコヌド別、個人別に工数時間および工賃に぀いお集蚈したデヌタを衚瀺・Excel圢匏で゚クスポヌトする事が可胜になっおいたす。以䞋の手順で怜玢を掛けおから出力を行いたす。

  1. リボンより「デヌタ集蚈」をクリックする
  2. 2぀のタブがあるので、集蚈したい内容のタブを開く
  3. 開始日付および終了日付をカレンダヌから遞択する
  4. 怜玢をクリックするずデヌタが絞り蟌たれお集蚈されおデヌタリストが衚瀺されたす。
  5. 出力をクリックするず、保存堎所を指定しお、Excel圢匏で珟圚のデヌタリストを゚クスポヌトしたす。

図簡単に党デヌタから絞り蟌みず集蚈が可胜

リボンのコヌド

本プログラムの独自リボンは、システムオブゞェクトである「USysRibbons」テヌブルに登録されおいたす。衚瀺のさせかたはこちらのサむトを参考にシステムオブゞェクトを衚瀺するず閲芧が可胜ですが、通垞は匄らないでください。

  • 各リボンのコマンドであるonActionはすべおマクロを指定しおいたす。
  • たた、起動時にはAutoexecマクロが自動的に䜜動し、startupexec()が実行される仕組みになっおいたす。
  • リボン制埡甚のモゞュヌルはすべおribboncmdに栌玍されおいたす。リボンロヌド時にribbonmanコマンドが実行されたす。
  • リボンを䜿う為に参照蚭定にお「Microsoft Office 16.0 Object Library」を加えおいたす。

関連リンク

コメントを残す

メヌルアドレスが公開されるこずはありたせん。 ※ が付いおいる欄は必須項目です

このサむトはスパムを䜎枛するために Akismet を䜿っおいたす。コメントデヌタの凊理方法の詳现はこちらをご芧ください。