由于access里面没有mysql的limit语句进行分页,所有我们可以使用top语句来实现分页功能。access的top是用来获取记录集的前几个的。
先定义一下变量
size---单页的记录数
page---页数,从2开始 (第一页需要特殊处理)
我们先获取包括当前页的前几页的记录集A: select top (page*size) * from [table] order by [date] desc
然后再获取一下当前页之前的所有记录集B:select top ((page-1)*size) [主键] from [table] order by [date] desc
最后我们把记录集A-记录集B剩下的就是我们要的第page页的记录集 :select top size * from (A) where [主键] not in (B) order by [date] desc
完整的sql语句是 select top size * from (select top (page*size) * from [table] order by [date] desc) where [主键] not in (select top ((page-1)*size) [主键] from [table] order by [date] desc ) order by [date] desc
注意:由于top 0是无法使用的所有在获取第一页的时候 直接使用 top size就行了