人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Access2007について
勤怠表を作成しているのですが、クエリで1ヶ月中の出勤日数を求めたいのですが、式がわかりません。
たとえばDateDiff("d",#2006/6/1#,#2006/7/1#)のように期間を指定して日数を求めた場合、左の式のままでは
1ヶ月の日数がカウントされるだけなので勤務日数を出すことができません。この式の中に何を付け加えたら1ヶ月の
勤務日数が求められますか?

●質問者: hiro8149
●カテゴリ:コンピュータ
✍キーワード:2006 カウント クエリ 作成
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● らいず
●35ポイント

これだけでは情報が少なく、求めている答えになるかわかりませんが…

勤怠であれば、出勤時に出勤時間等を記録するかと思います。

その項目 例えば出勤時間 に時間が入っている日数をクエリで期間を指定して、カウントすればいいのではないでしょうか?

◎質問者からの返答

クエリからレポートを作成して給与明細書に出勤日数を記載したいのですが、日数としてカウントして記載する方法が

わからないのですが…


2 ● deep_one
●35ポイント

個人の勤務日数ではなく、会社の営業日をカウントするのだという前提で考えます。


http://office.microsoft.com/ja-jp/access/HA012288111041.aspx?pid...

DateDiffには曜日を考慮する機能がないので、この式を変更して営業日の総数を計算することは出来ません。


http://www.atmarkit.co.jp/fwin2k/win2ktips/383workday/workday.ht...

ExcelのWORKDAYS関数にはその機能があるようですが、同名の関数はAccessにはないようです。従ってAccessで完結したいのであれば関数等を自作する必要があります。



日数から休みの回数を引けばいいわけですから、定休日が土曜と日曜なら最初の土曜日を探して(初日から一日づつずらしつつWeekday関数で確認する)最終日までの週数を計算(DateDiffのインターバルをwにする)、同じく最初の日曜(初日が日曜でなければ最初の土曜日の次なので検索手順は省略できる)から最終日までの週数を計算してその結果分だけ日数を減らします。


さらに祝日/祭日/その他休日の回数を確認する必要があります。これは別途なにがしかの方法で定義するしかありません。



ちょうど似た問題を扱っている解答をgooで見つけました。

http://oshiete1.goo.ne.jp/qa3613167.html



勤怠管理で使うのであればその場で計算する必要がありませんから、Excelを使って事前に営業日の日数を計算した方が早いかもしれません。(計算結果をテーブルに格納して参照します。)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ