|
▼青首 さん:
おはようございます。
>テーブル:T_日報情報
>
> フィールド名 データ型
> 日報ID オートナンバー型
> 業務内容 テキスト型
> 残業時間 数値型
まず、こちらのテーブルには T_社員 との関連がないので、
社員ID フィールドを追加します。
また、日付のフィールドも追加してみましょう。
テーブル:T_日報情報
フィールド名 データ型
日報ID オートナンバー型
社員ID 数値型
日付 日付/時刻型
業務内容 テキスト型
残業時間 数値型
お望みの日報を作る方法は色々あると思われますが、
一案としてワークテーブル(一時的に使用するテーブル)を使った方法を紹介させて頂きます。
まず、下記の様なテーブルを用意します。
テーブル:T_Work
フィールド名 データ型
社員ID 数値型 (主キー)
日付 日付/時刻型
業務内容 テキスト型
残業時間 数値型
そしてフォームはこのテーブルを元にウィザードで作成します。
社員名でなく、社員ID のテキストボックスができてしまうので、
こちらを不可視にして、テキストボックスを追加します。
テキストボックス:社員名
コントロールソース:=DLookUp("社員名","T_社員","社員ID=" & [社員ID])
あとは、こちらのフォームの「読み込み時」「読み込み解除時」に
T_Work のデータを出し入れする様な処理を加えてあげます。
Private Sub Form_Load()
Dim strSQL As String
strSQL = "INSERT INTO T_Work(社員ID, 日付) " _
& "SELECT 社員ID, Date() FROM T_社員"
DoCmd.RunSQL strSQL
Me.Requery
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim strSQL As String
strSQL = "INSERT INTO T_日報情報(日付, 社員ID, 業務内容, 残業時間) " _
& "SELECT 日付, 社員ID, 業務内容, 残業時間 FROM T_Work"
DoCmd.RunSQL strSQL
strSQL = "DELETE FROM T_Work"
DoCmd.RunSQL strSQL
End Sub
何かしらのヒントになりましたら幸いです。
|
|