運転日報テーブルに
点呼ID 日付 氏名 開始点呼時間 終了点呼時間
があるとき、レコードが作成されるたびに自動で
出勤簿テーブルに
上記のレコードを転記することはできますか?
出勤簿は全従業員が対象で出勤簿テーブルに直接レコードを作成していますが
一部の従業員は運転日報を持って出勤管理をしています
労基などに提出するときに、統一された出勤簿である必要があるので
運転日報の内容をそのまま出勤簿に出力したいです
運転日報テーブルに
点呼ID 日付 氏名 開始点呼時間 終了点呼時間
があるとき、レコードが作成されるたびに自動で
出勤簿テーブルに
上記のレコードを転記することはできますか?
出勤簿は全従業員が対象で出勤簿テーブルに直接レコードを作成していますが
一部の従業員は運転日報を持って出勤管理をしています
労基などに提出するときに、統一された出勤簿である必要があるので
運転日報の内容をそのまま出勤簿に出力したいです
運転日報の入力にフォームを使っているのであれば、フォームの挿入後処理が使えるので、追加クエリを発行すればいいと思います
が、単純にコピーするだけでいいのであればデータを2重で持つ意味はないのでコピーではなくユニオンクエリで必要なタイミングでデータを連結すればいいと思います
そもそもの話、同じ形式のデータになっているのであれば運転日報テーブルと出勤簿テーブルに分ける必要があるのかが疑問ですが
ということなら、hirotontさんも言われてますか、そもそも分ける必要がないと思います。
その統一された書式でテーブルを作成して(両方に必要なフィールドをすべて持たせる)、そこに入力していけばいいのでは。
あとは、運転日報かどうかを識別するフィールド(Yes/No型)を追加して、運転日報のみ必要な時に、そのフィールドで抽出をかければいいだけです。
テーブルを分けない場合
開始点呼時間 終了点呼時間 と
出勤時間 退勤時間 を
それぞれ同じフィールドにするということですか?
同じでも、分けても、どちらでもOKです。
労基などに提出する統一された出勤簿が同じ欄なら同じで、異なる欄なら別に、というように用途に合わせて使いやすいように設計すればいいでしょう。
レポートレイアウトのテクニックになるのかもしれませんが
出勤簿の提出があったとき
レポートには出勤時間や退勤時間レベルフィールドを配置したものにしますが
運転日報で入力したレコードに関してはその項目に値がないので
フラグでいずれかのフィールドを表示させるとかでしょうか?
フィールドを同じにする場合、下記のようなフィールド構成にする。
開始時刻 日付/時刻型
終了時刻 日付/時刻型
運転日報 Yes/No型
レポートの設計は、
出勤簿も運転日報も 開始時刻、終了時刻 をコントロールソースにすればよい。
ラベルの標題を出勤簿なら、出勤時間、退勤時間 に、
運転日報なら、開始点呼時間、終了点呼時間 にすればよい。
出勤簿と運転日報のレイアウトが同じでラベルの標題だけが違うのなら、
ラベルをテキストボックスに変換して、コントロールソースを下記のようにすれば一つのレポートでどちらでも使えます。
=IIf([運転日報],"開始点呼時間","出勤時間")
=IIf([運転日報],"終了点呼時間","退勤時間")
入力フォームは、フォームヘッダーにコンボボックスかラジオボタンを配置しておいて、運転日報か出勤簿か選択できるようにして、「運転日報」フィールドに対してフィルターをかけて対象レコードを表示するようにする。
あるいは、メイン/サブフォーム形式にしてもいいでしょう。
ラベルはレポートの同様にテキストボックスにすればいいでしょう。
自分なら上記のような設計にします。
自分なら、だと
メニュー画面で「出勤簿」「運転日報」それぞれのボタンを用意して入力フォームを開いたときに規定値を弄るとか、ですかね