VB6.0(DAO)でExcelからデータを取得するプログラムを書いていたのですが、
正常にデータ取得が出来ているのに RecordCount値が「1」になってしまうのは
どうしてでしょうか?
sSQL = "SELECT DATA1, DATA2 FROM [A$]"
On Error GoTo errExcept
Set db = DBEngine.Workspaces(0).OpenDataBase(sFile, False, False, "Excel 8.0;HDR=YES;")
Set rs = db.OpenRecordset(sSQL)
MsgBox rs.RecordCount '<--- 「1」?!
Do Until rs.EOF
sString = sString & _
rs.Fields(0).Value & " " & _
rs.Fields(1).Value & vbCrLf
rs.MoveNext
Loop
MsgBox sString '<--- 3レコード表示されている
Exit Sub
errExcept:
MsgBox (Err.Number & " " & Err.Description)
End Sub
アドバイスお願いします。
すいません、RecordCount()にしてなかったのが原因だったみたいです。
(カッコ忘れ)
すいません!解決してなかったです。なんで?!
> 「1」になってしまうのはどうしてでしょうか?
ダイナセットタイプだからでしょう。
ループ中に値が変化していたりはしませんか?
> 解決してなかったです。
さしあたり、下記の Vol.3 を読んでみるとか。
http://www.canalian.com/DenRe/
ツイート | ![]() |