|
こんにちは、メイ子と申します。
「休日一覧基本」というテーブルがあって、日付フィールドには1年の祝日が入力されています。その月と日を取得して、来年の祝日データを「休日一覧」というテーブルに追加していきたいのです。
来年は5月4日が日曜日と重なるので、5月6日が振替休日になるということも含めて、下記のようなコードを作成いたしました。
RS.FindFirst (5月4日のところ)を通った後、「休日一覧基本」の1つめのデータに戻ってしまい、そのまま無限ループ状態になります。
どこを直したらよろしいでしょうか?どなたかご教示お願いいたします。
Private Sub 更新_Click()
Dim shukujitsu As Date
Dim db As DAO.Database
Dim RS As DAO.Recordset
Dim RS2 As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM 休日一覧基本 "
Set db = CurrentDb()
Set RS = db.OpenRecordset(strSQL, dbOpenDynaset)
Set RS2 = db.OpenRecordset("休日一覧", dbOpenTable)
Do Until RS.EOF
shukujitsu = RS!休日
RS2.AddNew
If Weekday(Year(Date) + 1 & "/" & Month(shukujitsu) & "/" & _
Day(shukujitsu)) <> 1 Then
RS2!休日 = Year(Date) + 1 & "/" & Month(shukujitsu) & _
"/" & Day(shukujitsu)
Else
RS.FindFirst "休日= #" & DateSerial(Year(Date) + 1, _
Month(shukujitsu), Day(shukujitsu)) + 1 & "#"
If RS.NoMatch Then
RS2!休日 = DateSerial(Year(Date) + 1, Month(shukujitsu),_
Day(shukujitsu)) + 1
Else
RS2!休日 = DateSerial(Year(Date) + 1, Month(shukujitsu),_
Day(shukujitsu)) + 2
End If
End If
RS2.Update
RS.MoveNext
Loop
RS.Close
RS2.Close
Set RS = Nothing
Set RS2 = Nothing
End Sub
|
|