dosc9472 2015-12-13 19:08
浏览 26

我需要使用sql命令在ms访问中对数据进行分页吗?

As there is no native offset function in ms access, I am using following technique to paginate data taken from this tutorial:http://www.jertix.org/en/blog/programming/implementation-of-sql-pagination-with-ms-access.html

 Select TOP Row_Per_Page * From [
    Select TOP (TotRows - ((Page_Number - 1) * Row_Per_Page) 
    From SampleTable Order By ColumnName DESC
 ] Order By ColumnName ASC

 --Page 1
 SELECT TOP 4 * FROM [SELECT TOP 17 * FROM SampleTable ORDER BY ID DESC; ]. 
 AS t1 ORDER BY ID;

 --Page 2 
 SELECT TOP 4 * FROM [SELECT TOP 13 * FROM SampleTable ORDER BY ID DESC; ]. 
 AS t1 ORDER BY ID;

 --Page 3 
SELECT TOP 4 * FROM [SELECT TOP  9 * FROM SampleTable ORDER BY ID DESC; ]. 
AS t1 ORDER BY ID;

 --Page 4  
 SELECT TOP 4 * FROM [SELECT TOP  5 * FROM SampleTable ORDER BY ID DESC; ]. 
 AS t1 ORDER BY ID;

 --Page 5  
 SELECT TOP 4 * FROM [SELECT TOP  1 * FROM SampleTable ORDER BY ID DESC; ]. 
 AS t1 ORDER BY ID;

With this technique, for page one, the database has to select all the records inside subquery. Is this technique as efficient as mysql offset and limit. If not I do not think, pagination is at all necessary on the sql side. I could just use some client side pagination probably with some javascript. Is there a better way to paginate in ms access or am I better off without pagination as there is no real advantage over performance?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了
    • ¥50 切换TabTip键盘的输入法