• ベストアンサー

VB6のRDOについて

VB6のRDOを使ってAccessのテーブルを読み込んでいますが、大量のデータがある場合に全部読み取ってからVBで抽出すると処理的にも時間的にも無駄が出てしまうので、読み込む前に抽出条件を与えて(FilterもしくはOrderbyのように)レコード番号(または行)を知る方法はありますか?

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

  • ベストアンサー
  • sakamaro
  • ベストアンサー率44% (4/9)
回答No.4

大量データを読み込む時間を短縮したい、 という質問だと仮定して...(^^; RDO を使用したことがないので直接の回答ではありませんが、 ADO では、最初に SELECT COUNT(*) FROM ... で 全レコード数 n を取得してから CacheSize プロパティをそのレコード数 n に設定し、 改めて SELECT TOP n * FROM ... とやると 劇的に速くなった経験があります。

TsYs
質問者

お礼

返事が遅くなりましてすみませんでした。 結果としてADOに変えてやってみましたが、今までのRDOを全てADOに変える事を考えるとそこまでやるほどの違いが見られませんでした。 アドバイス有難う御座いました。

その他の回答 (3)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

ど素人の意見で。 テーブルにオートナンバー型の列を追加するとか。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

データベースに何番目とかの必要性があるのかどうかと小さくツッコミ んで結果として、そのようなものはAccessにはないと思われ、、、 オラクルとかならまだしも、、、 順番を取って何がしたいのかがわかれば、ヒントが得られるかも?

TsYs
質問者

お礼

ACCESSではやっぱりだめですか.....

  • sakamaro
  • ベストアンサー率44% (4/9)
回答No.1

今はどのようなプログラムを書いているのでしょうか? 提示していただけると回答しやすくなります。

TsYs
質問者

補足

今はMicrosoft Remote Data Object2.0を参照設定しておき、 .OpenResultset(String, rdOpenForwardOnly, rdConcurReadOnly)で Stringに”Select * Form **** Where ***=***をセットして検索しています.

関連するQ&A