一定の件数ごとにレコードを表示する

一定の件数ごとにレコードを表示する

一定の件数ごとにレコードを表示する (ページ単位での処理)

Sub ページごとにレコード書きだし()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "伝票一覧", myCon, adOpenStatic, adLockReadOnly

'5件ごとにページを構成
myRS.PageSize = 5

'1ページ目から最終ページまでループ
For i = 1 To myRS.PageCount
  'ページの先頭レコードへ移動
  myRS.AbsolutePage = i
  'ページごとのデータを書き出し
  Debug.Print "## " & i & "ページ目 ##"
  Debug.Print myRS.GetString(adClipString, myRS.PageSize)
Next

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

1ページ当たりのレコード件数を設定
Recordsetオブジェクト.PageSize = 1ページ当たりのレコード件数

任意のページのレコードへ移動する
Recordsetオブジェクト.AbsolutePage = ページ番号

ページ総数を調べるには、PageCount プロパティを使用する。

「伝票一覧」テーブル

実行結果

イミディエイトウィンドウ

## 1ページ目 ##
1001 小料理ひろ 成宮 真紀 2007/01/10 17360
1002 食所あんどう 山本 雅治 2007/01/08 1099
1003 高原亭 加藤 泰江 2007/01/12 9465
1004 料亭きゅうきゅう 川村 匡 2007/01/21
11377
1005 洋食ちくさ 松沢 誠一 2007/01/13 11877

## 2ページ目 ##
1006 洋風居酒屋けい・えっくす 小川 さよ子
2007/01/20 22984
1007 葉薄ふぁん 川村 匡 2007/01/24 2153
1008 アリス亭 森上 偉久馬 2007/01/10 24116
1009 イルカランド 松沢 誠一 2007/01/25 28743
1010 ヒロコーポレーション 森上 偉久馬
2007/01/18 7895

## 3ページ目 ##
1011 居酒屋ななべえ 川村 匡 2007/02/01 6590
1012 温泉レストラン 成宮 真紀 2007/02/03
19659
1013 商店せんしょう 松沢 誠一 2007/02/12
16228
1014 割烹ふじい 加藤 泰江 2007/02/15 15742
1015 酒蔵でん 成宮 真紀 2007/02/15 28136



## 60ページ目 ##
1296 大和マーケット 青木 俊之 2007/06/30 28086
1297 小料理なんごく 青木 俊之 2007/06/30 26835
1298 月野株式会社 山本 雅治 2007/06/30 21637
1299 ポム・ド・テール 成宮 真紀 2007/06/30 11986
1300 大宮ユニオン 森上 偉久馬 2007/06/30 11361

## 61ページ目 ##
1301 温泉レストラン 成宮 真紀 2007/07/01 21555
1302 東海道スーパー 加藤 泰江 2007/07/02 18619
1303 アリス亭 森上 偉久馬 2007/07/02 23176
1304 食所あんどう 山本 雅治 2007/07/09 27879
1305 洋食ちくさ 松沢 誠一 2007/07/19 17134