アプリ版:「スタンプのみでお礼する」機能のリリースについて

Kootsuki4と申します。
ADODBの本質を理解しないでネットからコピペして使っているものです。

ADODBでCSVファイルを読み込むのですが読み込むレコード件数を制限したいと思っております。
もしかしてレコードセットの MaxRecords プロパティをセットしておけばいいのかな?と
考え、以下のコードにしてみました。
ところが、RECSET.MaxRecords = 10 の行で、「エラー ’3705’ オブジェクトが開いている場合は
操作は許可されません」のエラーになります。
どのように書くのがいいのでしょうか?
また、CSVファイルの読み込むレコード件数を制限したいとき、MaxRecords プロパティの操作でできるものでしょうか?できないときは方法をお教えいただけますと有り難いです。

dim ADODB As New ADODB.Connection
dim RECSET As New ADODB.Recordset
dim SQLSTR As String

ADODB.Open
SQLSTR = "SELECT * FROM csvファイル名"
RECSET.MaxRecords = 10
Set RECSET = ADODB.Execute(SQLSTR)

以上

質問者からの補足コメント

  • siffon9 さん
    早速の回答ありがとうございます。
    MaxRecords = 10 と書きましたが、正確にはヘッダーとその次のレコードの2レコードだけです。
    そのため、WHERE条件も難しく・・・。
    あっ、補足しますが、EXCEL2010 の VBA で、動かそうとしています。

      補足日時:2015/12/27 20:21
  • 自己レスです。
    私も、SQL側で制限する方法ですが以下でもできました。
      SELECT TOP 10 * FROM csvファイル名

    ただ、RECSET.MaxRecords = 10 の書き方は知りたいので、
    この質問はもう少し開いていたいと思います。

      補足日時:2016/01/01 21:23

A 回答 (1件)

直接の回答ではありませんが、SQL側で制限するのはどうですか?



SQLSTR = "SELECT * FROM csvファイル名 WHERE UID BETWEEN 1 AND 10"

   ※ UIDは、csvファイル内のユニークな値のフィールド(列)です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!