【问题标题】:MS Access alternative to SQL function ROW_NUMBER()MS Access 替代 SQL 函数 ROW_NUMBER()
【发布时间】:2013-09-23 05:12:43
【问题描述】:

我与MS Access 07 合作,需要一点帮助。

我有两个表 TbProjectTeam 和 TbProjectList。我需要比较员工离职日期和项目开始日期。我使用了SQL 语法:

SELECT [TbProjectTeam ].[Surname, name] 
FROM TbProjectTeam 
INNER JOIN TbProjectList
ON TbProjectTeam .[DateofTurnOut] <= TbProjectList.[DateOfStart] 
WHERE TbProjectList.[ID] = 1 
ORDER BY [Surname, name];

我的目标是将 TbSeznamUkolu.[ID] = 1 表达式中的 1 替换为 SQL 中的 ROW_NUMBER() OVERMS Access 不支持此功能,但不幸的是我需要知道所有项目的行索引。我想每行都会显示匹配的员工。

谁能帮帮我?非常感谢。

【问题讨论】:

标签: sql ms-access-2007 filtering row-number


【解决方案1】:

MS Access 有一个 AutoNumber 数据类型,用于设置记录的序号。您的数据集需要包含一个 AutoNumber 字段来表示 T-SQL 中的 ROW。由于自动编号是数字,您可以对其执行 &gt;&lt; 函数。 唯一的问题是记录将在添加到表中时按顺序编号。如果您可以控制添加它们的顺序,则没有问题,但如果您要将 AutoNumber 字段添加到现有的填充表,则顺序可能不符合您的要求。

我意识到这个问题有点老了,但我希望这会有所帮助。

【讨论】:

    【解决方案2】:

    尽管存在效率问题,DCOUNT 函数也提供了类似的效果:

    刚刚在这里回答了一个类似的答案:How to show the record number in a MS Access report table?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多