テキストボックスにDateを入力し、SQLServerに接続しSelectの結果をシートに書き込むだけのものなのですが、「BOFとEOFのいずれかがTrueになっているか、または現在のレコードが削除されています」というエラーでさっぱりわかりません。どなたかアドバイスをお願い致します。
-前後省略-
stdate = UserForm1.stdate.Value
endate = UserForm1.endate.Value
strsql = "select ***"
strsql = strsql & "from ***"
strsql = strsql & "where *** and ***.start_date between '" & stdate & "' and '" & endate & "' "
con.Open connectionString
Set rs = con.Execute(strsql)
Sheets("Data1").Select
rs.MoveFirst
i = 2
Do Until rs.EOF
Cells(i, 1) = rs.Fields(0).Value
Cells(i, 2) = rs.Fields(1).Value
Cells(i, 3) = rs.Fields(2).Value
Cells(i, 4) = rs.Fields(3).Value
i = i + 1
rs.MoveNext
Loop
con.Close
Set con = Nothing
Exit Sub
Err_DBConnectOpen:
MsgBox Err.Description
If con.State <> ADODB.adStateClosed Then
con.Close
End If
Set con = Nothing
End Sub
お礼
ありがとうございます。 デバッグしたところ実際のデータが指定した日付では既にアーカイブされていたことが判明致しました。その為にEOFがTrueに読みこんだ時からなっていたようです。 お騒がせしました。