Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5790 / 9994 ←次へ | 前へ→

【7417】Re:日報の作成
回答  小僧  - 06/3/1(水) 10:22 -

引用なし
パスワード
   ▼青首 さん:
こんにちは。

>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

前回と同じ様に、「読み込み時」「読みこみ解除時」に記述して下さい。

379 hits

【7389】日報の作成 青首 06/2/25(土) 21:37 質問
【7394】Re:日報の作成 小僧 06/2/27(月) 10:45 回答
【7397】Re:日報の作成 青首 06/2/27(月) 19:45 お礼
【7398】Re:日報の作成 青首 06/2/27(月) 20:57 質問
【7401】Re:日報の作成 小僧 06/2/28(火) 8:58 回答
【7416】Re:日報の作成 青首 06/2/28(火) 22:08 質問
【7417】Re:日報の作成 小僧 06/3/1(水) 10:22 回答
【7419】Re:日報の作成 青首 06/3/1(水) 21:06 お礼
【7420】Re:日報の作成 青首 06/3/1(水) 22:00 質問
【7431】Re:日報の作成 青首 06/3/2(木) 22:27 質問
【7432】Re:日報の作成 青首 06/3/2(木) 22:41 発言
【7433】Re:日報の作成 小僧 06/3/3(金) 11:35 発言
【7434】Re:日報の作成 小僧 06/3/3(金) 11:56 回答
【7445】Re:日報の作成 青首 06/3/5(日) 18:08 質問
【7447】Re:日報の作成 小僧 06/3/6(月) 9:55 発言
【7457】Re:日報の作成 青首 06/3/6(月) 22:28 お礼

5790 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free