Access 2010限制查询结果

迪翁

MS Access 2010中用于将查询结果限制为前1000个的语法是什么?

我已经试过了

SELECT tblGL.[Cost Centre Code]
FROM tblGL
LIMIT 1000;

但我收到错误“ FROM子句中的语法错误”。

我也尝试过设置“最大记录”属性,但是它似乎没有任何作用-无论我在“最大记录”字段中输入什么值,我仍然可以获得7,000多个结果。

我还希望有一个第二个查询,从第1,001个开始选择下一个25,000个。就像是:

SELECT tblGL.[Cost Centre Code]
FROM tblGL
LIMIT 1001, 25000;
克里斯蒂安·斯佩克特

那么,相当于Access的MySQL是什么:LIMIT 1001、25000(即从第1,001st开始返回25,000个结果)?

不幸的是,在MS Access中这并不像在MySQL中那样简单。
在Access中,您需要使用嵌套的子查询。

这是我的答案,在这里我向您展示如何在C#中为分页建立正确的SQL字符串:
如何进行MS Access数据库分页+搜索?

从该答案中获取SQL字符串并插入表名和列名将导致以下查询:

select [Cost Centre Code] from tblGL
where [Cost Centre Code] in (
    select top 25000 sub.[Cost Centre Code]
    from (
        select top 26000 tab.[Cost Centre Code]
        from tblGL tab
        where 1=1
        order by tab.[Cost Centre Code]
    ) sub
    order by sub.[Cost Centre Code] desc
)
order by [Cost Centre Code]

这至少消除了对C#基本知识的需求,但是如果您不知道子查询的工作方式,恐怕您仍然会感到困惑:-)

问题是:
Access没有内置方法可以直接获取25000行,而跳过前1000
行。唯一可能的是获取前X行。

所以我正在这样做(从内到外)

  1. 加载前26000
    (1000 + 25000,因为我们要跳过1000行然后加载25000)

  2. 从此数据集中,加载前25000行,但顺序降序。
    这将有效地将行26000加载到1001 (以该顺序,因为我们将行降序排列!)

  3. 要使行按升序排列,只需再次从表中加载(并按升序排列!),但只有带有Cost Centre Codesfrom步骤2的行即可

得到它了?
是的,乍看之下看起来很吓人,但是只要您“获得”子查询,实际上并不那么困难。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将查询结果插入MS Access 2010中的表

来自分类Dev

Access 2010参数查询-AND OR

来自分类Dev

Access 2010表单查询

来自分类Dev

Access 2010总和错误的结果

来自分类Dev

MS Access 2010在查询中的运行总计

来自分类Dev

基于转换表的Access 2010更新查询

来自分类Dev

SQL Access —仅限制子查询

来自分类Dev

Microsoft Access查询结果为空

来自分类Dev

搜索框的消息框未返回任何结果,Access 2010

来自分类Dev

MS Access 2010将计数结果链接到单个记录

来自分类Dev

MS Access 2010日期范围结果不理想

来自分类Dev

搜索框的消息框未返回任何结果,Access 2010

来自分类Dev

领域限制查询结果

来自分类Dev

SQL查询-限制结果

来自分类Dev

#名称?在Access 2010中重新查询后在窗体上

来自分类Dev

无法在MS Access 2010中导入SQL查询

来自分类Dev

#姓名?在Access 2010中重新查询后的窗体上

来自分类Dev

在MS ACCESS 2010中创建表-使用Oracle SQL查询

来自分类Dev

在VBA中选择和计算查询(Access 2010)

来自分类Dev

在Access 2010中使用表单定义查询中的字段

来自分类Dev

Access查询构建器是否限制列数?

来自分类Dev

Access查询构建器是否限制列数?

来自分类Dev

从Java``插入''Access 2010

来自分类Dev

C#和Access VBA中的查询产生不同的结果

来自分类Dev

MS Access计数查询不会产生所需结果

来自分类Dev

如何在MS Access中查找ADO查询的结果

来自分类Dev

Access 2013-查询未返回正确的结果数

来自分类Dev

高级排序或查询结果分组(是否有?),Access 2013

来自分类Dev

通过SQL和Access查询多个表并显示结果