MS Access替代SQL函数ROW_NUMBER()

时间:2013-09-18 12:29:08

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

我与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];

我的目标是在ROW_NUMBER() OVER中替换TbSeznamUkolu中的1。[ID] = 1表达式SQLMS Access不支持此功能,但遗憾的是我需要知道所有项目的行索引。我想这将显示每一行的员工匹配。

有人能帮帮我吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

DCOUNT功能尽管效率问题提供了类似的效果:

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