|
▼青首 さん:
こんにちは。
>オプショングループの中から選択するような
>形にしたいのですが、またこれも自分にとっては難解で・・・。
データベースを作成する際に、
後からテーブルの項目が増やすとテーブルだけでなく
フォームやモジュール等、色々な所に影響がでてきます。
できるだけ仕様をはっきり決めてから製作に取り掛かりましょう。
(当方も作っている内に段々とやりたい事が増えていく事が多いですけどね^^)
まずテーブルの変更です。
「T_日報情報」と「T_Work」に
数値型:残業区分ID フィールド を追加して下さい。
次にフォームですが、オプショングループの作成の仕方はご存知でしょうか。
もしお解りで無い様でしたら再度ご質問して下さい。
お解りでしたら、フレームのコントロールソースを「残業区分ID」に設定します。
そしてフォームモジュールの変更です。
前回のコードに一部不備がありましたので、訂正させて頂きます。
Private Sub Form_Load()
Dim strSQL As String
strSQL = "INSERT INTO T_Work ( 社員ID, 日付 ) " _
& "SELECT T_社員.社員ID, Date() AS 日付 " _
& "FROM T_社員;"
DoCmd.RunSQL strSQL
strSQL = "UPDATE T_Work " _
& "INNER JOIN T_日報情報 " _
& "ON T_Work.社員ID = T_日報情報.社員ID " _
& "SET T_Work.業務内容 = T_日報情報!業務内容, " _
& "T_Work.残業時間 = T_日報情報!残業時間, " _
& "T_Work.残業区分ID = T_日報情報!残業区分ID " _
& "WHERE T_日報情報.日付=Date();"
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.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
strSQL = "UPDATE T_日報情報 INNER JOIN T_Work " _
& "ON (T_日報情報.社員ID = T_Work.社員ID) AND " _
& "(T_日報情報.日付 = T_Work.日付) " _
& "SET T_日報情報.業務内容 = T_Work.業務内容, " _
& "T_日報情報.残業時間 = T_Work.残業時間, " _
& "T_日報情報.残業区分ID = T_Work.残業区分ID;"
DoCmd.RunSQL strSQL
strSQL = "DELETE FROM T_Work"
DoCmd.RunSQL strSQL
End Sub
こんな感じでいかがでしょうか。
|
|