|
▼青首 さん:
こんにちは。
>2月28日に一度すべての社員のレコードを追加したら、
>2月28日の分はもうレコードの追加ができないような形に
>したいのですが。
2月28日に一度データを入れた後、もう一度フォームを開くと
前回のデータを修正するような形ではいかがでしょうか。
Private Sub Form_Load()
Dim strSQL As String
strSQL = "INSERT INTO T_Work ( 社員ID, 業務内容, 残業時間, 日付 ) " _
& "SELECT T_社員.社員ID, T_日報情報.業務内容, T_日報情報.残業時間, Date() " _
& "FROM T_社員 LEFT JOIN T_日報情報 ON T_社員.社員ID = T_日報情報.社員ID " _
& "WHERE (T_日報情報.日付=Date()) Or (T_日報情報.日付 Is Null);"
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.残業時間;"
DoCmd.RunSQL strSQL
strSQL = "DELETE FROM T_Work"
DoCmd.RunSQL strSQL
End Sub
前回と同じ様に、「読み込み時」「読みこみ解除時」に記述して下さい。
|
|