'自定义分页过程
Private Sub Controllv(lCurrentPage As Integer)
Dim PageCount As Integer
Rs4.PageSize = 5
PageCount = Rs4.PageCount
If Rs4.RecordCount = 0 Then Exit Sub
If lCurrentPage > PageCount Then
CurrentPage = PageCount
End If
Rs4.AbsolutePage = CurrentPage
Dim Litm As ListItem
ListView1.ListItems.Clear
'Rs4.MoveFirst
For i = 1 To Rs4.PageSize
Set Litm = ListView1.ListItems.Add()
Litm.Text = Rs4.Fields(1).Value
Litm.SubItems(1) = myR.Getoperate(Rs4.Fields(2).Value)
Litm.SubItems(2) = Rs4.Fields(3).Value
Rs4.MoveNext
If Rs4.EOF = True Then Exit For
Next
Text1.Text = CurrentPage & "/" & PageCount & "页"
End Sub
这是LISTVIEW分页的,意思一样的吧
在最后一页的时候,一定要判断是否到了记录尾要退出
这是我的程序代码:
Dim adoPrimaryRS As ADODB.Recordset
Dim lPageCount As Long
Dim nPageSize As Integer
Dim lCount As Long
nPageSize = 3
Set adoPrimaryRS = New ADODB.Recordset
adoPrimaryRS.Open "select * from 奖励违规表", conn, adOpenStatic, adLockOptimistic
adoPrimaryRS.PageSize = nPageSize
lPageCount = adoPrimaryRS.PageCount
If lCurrentPage > lPageCount Then
lCurrentPage = lPageCount
End If
adoPrimaryRS.AbsolutePage = lCurrentPage
Dim objrs As New ADODB.Recordset
For lCount = 0 To adoPrimaryRS.Fields.Count - 1
objrs.Fields.Append adoPrimaryRS.Fields(lCount).Name, adVarChar, adoPrimaryRS.Fields(lCount).DefinedSize
Next
objrs.Open
For lCount = 1 To nPageSize
objrs.AddNew
objrs!时间 = adoPrimaryRS!时间
objrs!姓名 = adoPrimaryRS!姓名
objrs!奖励事项 = adoPrimaryRS!奖励事项
objrs!违规事项 = adoPrimaryRS!违规事项
adoPrimaryRS.MoveNext
Next
Set DataGrid1.DataSource = objrs