VB6.0SP5 ADO2.8 Windows2000
ADOを使用しExcelファイルの編集を行っているのですが、
全ての行を取得してくれません。どうしてなのでしょうか?
下記のコードで読込むと41件しかRecordCountで表示されないのですが、
実際は90件強あります。
dim CN as adodob.connection
dim RS as adodob.connection
Set CN = New ADODB.Connection
CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fname & ";" & _
"Extended Properties=Excel 8.0;Persist Security Info=False"
CN.Open
SQL = "SELECT * FROM [" & SheetName & "] "
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient
RS.Open SQL, CN1, adOpenKeyset, adLockBatchOptimistic, adCmdText
debug.print rs.recordcount
因みに・・・その90件のデータ中には、1行も
無効なデータや行(空行を含む)はありませんか?
空行があれば、その直前までしか読み込まれません。
そういう意味では、41件とありますので、42行目
のデータは正しく入っていますか?
以上。
自分も怪しいと思い、テスト用を作成しにExcelファイルの
順番入れ替えなどをしてみたのですが、
そのファイルでは、やはり41件までしか読みこんでもらえません。
EXCELファイル自体の設定を探ってみたのですが、
41行目、もしくは42行目までの指定の設定は見つかりませんでした。
シートの中身を別ファイルにコピーして、
違うファイルで読込んでもダメでした(=;ェ;=)
ちなみに…その時の rs.Fields.Count は256?
編集 削除256ではありません。
Fields.Countはあっています。
Debug.Printの前にRS.MoveLastとかやっても同じですかね?
編集 削除下記URLのページの後半・・・参考になりませんか?
http://support.microsoft.com/default.aspx?scid=kb;ja;257819
以上。