MoveFirstの使い方

[戻る]
いな 2002/01/08(火) 13:44:07
1つの関数内で、
2度同じデータ-ベースを使いたい
のですが、どうしたらいいですか?

MoveFirstを使うと思うのですが…

よろしくお願いします。

環境は、
Windows2000
VC++ 6.0
Access2000
です。

sugar 2002/01/08(火) 15:35:31
> 2度同じデータ-ベースを使いたい
>
ということですが、どう使いたいのですか?
1度目と2度目は、同じデーブルに対してですか?

MoveFirst云々とありますが、暗に同じテーブルに対してSELECTを2回実行したいということだったりして...
もうちょっと具体的な情報がほしいところです。

いな 2002/01/08(火) 15:50:50
sugarさん、ありがとうございます。

>ということですが、どう使いたいのですか?
まず、テーブルのレコード数を数えて、
次に、テーブルの先頭にもどって、
フィールドの値を配列にいれたいです。

>1度目と2度目は、同じデーブルに対してですか?
同じテーブルに対してです。


よろしくお願いします。

sugar 2002/01/08(火) 17:37:09
> まず、テーブルのレコード数を数えて、
> 次に、テーブルの先頭にもどって、
> フィールドの値を配列にいれたいです。
>
レコード件数のカウントは、どうやっていますか?
MoveFirst()を使って...という話が出ているところから、
いきなりデータを取得するSELECT文を実行してレコードセットを作成し、
件数をカウントするためのループのなかでMoveNextを繰り返して...って感じでしょうか。
これだとカレントレコードを指し示すポインタが移動してしまうので、
MoveFirstを実行すれば先頭に戻せると思います。
ただSELECTの結果、件数が多くなると、時間がかかってしまいますね。

CRecordset::GetRecordCount()ってやつは使えませんかね。
ちょっと私は使ったことが無いので、試してみてください。
ポインタの位置は変わらないのではないでしょうか。

古いスレッドには追加発言できません。