一定の件数ごとにレコードを表示する
一定の件数ごとにレコードを表示する (ページ単位での処理)
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