最近在做一个数据库管理系统,其中要用到数据的分页显示技术,所以花点时间研究了一下,实现比较简单,代码如下:
Option Explicit
Dim Con As New ADODB.Connection
Dim Res As New ADODB.Recordset
Dim ResTemp As New ADODB.Recordset '记录每一次记录集的位置
Dim RecordCount As Integer
Dim CurrentPage As Integer
Const PageSize = 25
Public PageCount As Integer
Private FormOldWidth As Long '保存窗体宽度
Private FormOldHeight As Long '保存窗体高度
Private FormOldFont As Single '保存字体尺寸大小
Private Sub CmdFirst_Click(Index As Integer) '显示第一页记录
CurrentPage = 1
Call ShowInfo(CurrentPage)
CmdFirst(0).Enabled = False
CmdLast(3).Enabled = True
CmdNext(1).Enabled = True
CmdPre(2).Enabled = False
End Sub
Private Sub CmdLast_Click(Index As Integer) '显示最后一页记录
CurrentPage = PageCount
Call ShowInfo(CurrentPage)
CmdLast(3).Enabled = False
CmdNext(1).Enabled = False
CmdPre(2).Enabled = True
CmdFirst(0).Enabled = True
End Sub
Private Sub CmdNext_Click(Index As Integer) '显示下一页记录
CurrentPage = CurrentPage + 1
Call ShowInfo(CurrentPage)
If CurrentPage = PageCount Then
CmdNext(1).Enabled = False
End If
CmdFirst(0).Enabled = True
CmdPre(2).Enabled = True
End Sub
Private Sub CmdPre_Click(Index As Integer) '显示前一页记录
CurrentPage = CurrentPage - 1
If CurrentPage < 1 Then
CurrentPage = 1
CmdPre(2).Enabled = False
End If
CmdFirst(0).Enabled = True
CmdNext(1).Enabled = True
CmdLast(3).Enabled = True
Call ShowInfo(CurrentPage)
End Sub
Private Sub Form_Load()
C