代码之家  ›  专栏  ›  技术社区  ›  Zdenek T.

MS Access替代SQL函数ROW_NUMBER()

  •  4
  • Zdenek T.  · 技术社区  · 11 年前

    与我一起工作 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的1人。[ID]=1个表达式 ROW_NUMBER() OVER 在里面 SQL语言 . MS Access 不支持此功能,但不幸的是,我需要知道所有项目的行索引。我想每一行都会显示匹配的员工。

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

    2 回复  |  直到 11 年前
        1
  •  1
  •   Broke Daddy    11 年前

    MS Access有一个 自动编号 在记录上设置序号的数据类型。您的数据集需要包括 自动编号 字段来表示T-SQL中的ROW。由于自动编号是数字的,您可以这样做 > < 功能。 唯一的问题是,记录在添加到表中时会按顺序编号。如果您可以控制添加它们的顺序,那么就没有问题,但如果您要添加 自动编号 字段,则序列可能与您的要求不匹配。

    我意识到这个问题有点过时了,但我希望这能有所帮助。

        2
  •  1
  •   Community CDub    7 年前

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

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