お世話になっております。
うまく説明できませんが以下のデータがありますが、
ID 日付 社員ID 開始 終了 時間 残業
1 12/1 001 8:00 17:00 8
2 12/2 001 17:00 20:00 3
本当は下のように作りたいです。
ID 日付 社員ID 開始 終了 時間 残業
1 12/1 001 8:00 17:00 8
2 12/2 001 17:00 20:00 3
ですのでSQLでつくってみました
SQL = ("SELECT T_作業日報明細.日付, T_作業日報明細.個人ID,Min(T_作業日報明細.[Start Time]) AS [Start Timeの最小], Max(T_作業日報明細.[End Time]) AS [End Timeの最大], Sum(T_作業日報明細.時間) AS 時間の合計" & "FROM T_作業日報明細" & "GROUP BY T_作業日報明細.日付, T_作業日報明細.個人ID;")
ですが以下のコードはVBAでどいう風に書けばいいか分かりません。
もし日付と社員IDが同じなら
時間の合計 = EndTimeの最大 - StartTimeの最小 - Me.休憩
If 時間の合計 <= 8 Then
Me.残業 = 0
Me.勤務時間 = 時間の合計
Else
Me.残業 = 時間の合計 - 8
Me.勤務時間 = 8
End If
そうではない場合
Soukinmu = EndTime - StartTime - Me.休憩
If Soukinmu <= 8 Then
Me.残業 = 0
Me.勤務時間 = Soukinmu
Else
Me.残業 = Soukinmu - 8
Me.勤務時間 = 8
End If
めちゃくちゃだと思いますがご指導をよろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
出退管理はテーブル的には
社員テーブル(ID、氏名、、、、、)
打刻テーブル(ID、日付、時間、出退区分、、、)
出勤区分テーブル(ID、名称、、、)休日、有給、祝日、などが入っている。
勤務区分(ID、勤務区分名、開始時間、就業時間、休憩時間、総労働時間、、、)
個別スケジュール(社員ID、年月日、出勤区分、勤務区分、出勤時間、退勤時間、総労働時間、休憩時間、残業時間、遅刻時間、早退時間、時間調整、、、)
年休管理テーブル(社員ID、年、有給付与数、繰越数、休日数、祝日数、有給消化数、、、)
みたいなかんじかな。 他社の製品なんであまり詳しくは書くわけにはいかないけど、個別スケジュールを月次のバッチ処理である程度データを埋めるところが肝だね。 あとは、労働時間とかを集計するテーブルもあるし、給与体系に結び付けているテーブルもあるし、やろうとすると、いくらでもできるけど、、、
結局、最終的には何をどう管理するために、どの程度の手間とコストをかけるのか?
それを社内でやるのと、製品を買うのとどちらがリーズナブルなのか?
という話になってくるわけだね。
休憩時間別にというのは、8時5時、9時6時、10時7時などという出勤区分をそれぞれ作って対応したという意味。
No.1
- 回答日時:
うちの勤怠ソフトは、
出勤休日祝日区分と、勤務時間帯コードを入れるところが付いているよ。
さらに総労働時間と残業時間は別なフィールドで双方データが必ず入ることになっているよ。
で、別テーブルに勤務時間帯コードの標準出勤時間、標準退勤時間、標準休憩時間、標準総労働時間が入れてあって、計算しているみたいだよ。 ま、フレックスにも対応しているんだけど、いろいろめんどくさかったから、休憩時間別にに勤務時間帯コードを作ることにしたよ。
ご回答ありがとうございました。
まずテーブルを再設計する必要があると分かってきました。
単純な質問ですみませんが出勤休日祝日区分と休憩時間別テーブルにはどんなフィールドでしょうか?
お手数ですが、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ビジネス・キャリア) 勤怠管理について(備えておくべきもの) 3 2022/09/08 10:51
- Excel(エクセル) TEXT関数(負の値)を集計のため数値に変換したい 5 2022/05/15 23:04
- 労働相談 奴隷扱いしても、従業員が何も言わないからって 調子に乗っている 会社経営家族、間抜けすぎるその後 ● 3 2022/07/08 09:38
- 労働相談 有給休暇使用時の賃金の計算方法について 5 2022/04/04 00:02
- 転職 転職活動中で2社内定があり迷っています。皆様ならAとBどちらの方が良いと思いますか?理由もお願いしま 1 2023/02/06 12:20
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- 転職 現在郵便局の契約社員で配達や集荷で3年程勤めています。正社員になりたく転職活動をしております。内定が 5 2023/02/12 01:07
- 消費税 委任・準委任契約とインボイス制度 1 2023/06/11 08:24
- Excel(エクセル) エクセルで勤務時間の計算をしています。 下記図でstartは勤務開始時間、endは勤務終了時間です。 5 2022/06/07 13:51
- 労働相談 会社に不満があります。 給料明細を渡してくれないし、「アルバイトじゃないんだからサービス残業しろ」と 3 2023/04/12 22:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
商品コード番号を入力すると商...
-
PLSQLの識別子エラー
-
SQL 2つのテーブルとSUBSTRING...
-
アクセス2003 SQL2000を使用し...
-
行方向のデータを横に並べる
-
Accessリレーションシップ
-
[ BETWEEN ] vs [ >= AND <= ]
-
Access 1レコードずつcsvで出力...
-
accessのエクスポートエラーに...
-
SELECT文でのデッドロックに対...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessにインポートしたら並び...
-
ACCESSで複数テーブルを結合し...
-
accessテーブル作成クエリを実...
-
Access 削除クエリが重い
-
IFで条件を分岐させてのINSERT...
-
ボタンをクリックした回数をカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
行方向のデータを横に並べる
-
下記のsqlで取得されるレコード...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
[Oracle] UPDATE分の副問い合わ...
-
自分自身への矢印
-
片方だけ抽出する方法(SQL)
-
Accessユニオンクエリーで2つ...
-
連番のMin, Maxを取得したい
-
Inner join と Left joinの明...
-
日付の最大値を検索条件にする方法
おすすめ情報