カレントレコード処理

解決


うさぎ  2006-01-17 18:26:45  No: 129592

レコード全件処理の場合

do until rs.EOF
  '1 レコード毎の処理
  rs.MoveNext
loop
となります。
例えば、レコードが50件あって、「次」というコマンドボタンをクリック
する毎に、10件づつテキストに表示させるようにするにはどうしたら良いでしょうか?

Do Until rs.Move 10
'1 レコード毎の処理
  rs.MoveNext
loop
としあら、エラーになってしまいました。

お願い致します。


Geo=TK3  2006-01-17 18:41:02  No: 129593

使用している開発環境と使っているデータベースは何でしょうか?
それが分からないと何とも。


うさぎ  2006-01-17 18:44:40  No: 129594

すみません。
VB6で、データベースはAccessです


ぶぶ  2006-01-17 20:58:07  No: 129595

読み込んだデータをカウントして10件よんだらDoから抜けるように組んだら
いいのでは?


うさぎ  2006-01-17 22:17:58  No: 129596

ぶぶさんのおっしゃる感じにしたら、10件は表示されました。
50件あったら、「次」というコマンドボタンをクリックした時に
次の10件をとりに行く処理が分かりません。

txtAという名前のテキストを10コ用意して、配列にしました。
そのtxtA(0)〜(9)にVBの"名前"のデータを表示させようとしてます。

CountA = rs.RecordCount
    
For i = 1 To 10
  txtA(i) = rs.Fields("名前")
  rs.MoveNext
Next i 
       
End Sub


ぶぶ  2006-01-17 23:33:57  No: 129597

いったん全件を変数に代入して
それからFor 〜Nextで取得するのはだめですか?


Geo=TK3  2006-01-17 23:40:32  No: 129598

ぶぶさんのおっしゃっているように一度変数 (配列) に全件取り
込んでから表示するか、さもなければ Move メソッドでカレント
レコードを変更した後に 10 件表示の処理をするか、でしょうか。

ex)
rs.Move 10

For i = 1 To 10
  txtA(i) = rs.Fields("名前")
  rs.MoveNext
Next i 

...で、11 件目〜20 件目の表示が出来る筈。


うさぎ  2006-01-18 02:06:17  No: 129599

ぶぶさん、Geo=TK3さんご説明ありがとうございます。
考え方が分かったので、やってみた所できました。
本当にありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加