• ベストアンサー

ACCESS,VBAで読込み位置指定はできますか?

ACCESS,VBAで質問します。Aファイルを読み、Bファイルに出力します。この時、Aファイルのレコードが大量にあるので、開始位置を指定したいのですが、メソッドがわかりません。キーで指定できないでしょうか。MOVEFIRSTだけでしょうか。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.1

<tab1> ID___fld_1___fld_2 1____1_______A 2____2_______B 3____3_______C [イミディエイト] 3 3 A ----------------------- このように、レコードを2つ飛び越して表示するサンプルコードです。 Private Sub コマンド0_Click()   Dim dbsCurrent As DAO.Database   Dim rstTab1  As DAO.Recordset      Set dbsCurrent = CurrentDb   Set rstTab1 = dbsCurrent.OpenRecordset("SELECT * FROM Tab1")   With rstTab1     .Move 2     Do       Debug.Print .Fields("ID")       Debug.Print .Fields("fld_1")       Debug.Print .Fields("fld_2")       Debug.Print "-----------------------"       .MoveNext     Loop Until .EOF   End With   rstTab1.Close   dbsCurrent.Close End Sub

UKUJIMA
質問者

お礼

move n ですね。 私が実行したいのは、必ず、この位置からではなく、およその件数から読み出せれば充分なので、利用できます。 10万件以上あるので、クエリーの抽出で時間がかかり過ぎているようなので慣れないVBAに挑戦中です。 試してみます。ありがとうざいました。

その他の回答 (3)

  • slate
  • ベストアンサー率41% (14/34)
回答No.4

Aファイル、Bファイルとは何でしょうか? MDB(Accessで作成されたファイル)でしょうか? その場合には、レコードの並び順は保証されません。 レコードを一意に指定したい場合には、 そのような項目があるか、作成しておく必要があります。 DBとは、通常そういうものです。 で、どうもADOとかのRecordsetで異ファイル間の データエクスポート/インポートを実装されることを考えておられるようですが、 Accessのエクスポート/インポート機能をVBAにて実装するか、 パススルークエリでインポートするか リンクテーブルを張ってからインポートするか、 方法はいろいろありますが、 ADOでやるよりは高速です。

  • j_nishiz
  • ベストアンサー率26% (183/697)
回答No.3

Aファイルがキー順にソートされているのでしたら、合致するまで読み飛ばせば良いのでは。 ソート用のフリーウェアもあり、条件で抜き出しも出来るようですので、それらを使ってAファイルを抜き出しておくのも考えられた方がよいと思います。

UKUJIMA
質問者

お礼

ご回答ありがとうございます。 10万件以上あり、読み飛ばす時間を省略したいので、頭出しを行いたいです。

noname#140971
noname#140971
回答No.2

C ----------------------- もちろん、A は単なる転記ミス。

関連するQ&A