Vba 使用SQL根据单独表中的日期计算顺序字段值

Vba 使用SQL根据单独表中的日期计算顺序字段值,vba,Vba,我一直在尝试在Access 2010中设计一个SQL查询,以统计基于3个表的连续字段值的数量,这些表使用具有唯一ID的字段 范例 表1:课程 CorID Date 1 01/01/2012 2 01/03/2012 3 01/02/2012 表2:代表 DelID StaffID CorID Value CounterField 1 17263 2

我一直在尝试在Access 2010中设计一个SQL查询,以统计基于3个表的连续字段值的数量,这些表使用具有唯一ID的字段

范例

表1:课程

    CorID  Date
    1       01/01/2012
    2       01/03/2012
    3       01/02/2012
表2:代表

    DelID  StaffID     CorID      Value    CounterField
    1      17263       2          99       1
    2      17263       1          99       2
    3      17263       3          99       3
    4      17263       65         4        1
    5      17263       44         5        1
    6      17263       78         5        2
表3:工作人员

    StaffID     Surname
    1           Test
    2           Smith
    17263       Jones
反字段增加1,其中表2中的值字段与前一个值字段相同。需要确保计数仅使用基于课程表日期字段的订单。委托表还将包含比列出的更多的DelID字段,并且还将包含不同的StaffID值

上表中的反字段是我希望查询能够执行的一个示例


这可能吗?提前感谢。

如果您想计算委托中关于值字段的不重复行数:


尝试运行子查询:


问题又来了?我想根据委托表中的值字段创建如上所示的反字段。如果值字段如上所述更改值,则反字段需要重置回1。您也可以使用GROUP BY并使COUNT=1来执行此操作,但第一个解决方案更简单,也更快速。谢谢您的回答,我可能在开始时没有说清楚,但我希望能够按照我在原始帖子中描述的方式填充反场。尝试将其转换为英语:将有多个课程,在不同的日期,从staff表中选出多个代表。当我使用委托表中的按staffID筛选的CourseDate升序查询所有3个表时,我希望能够计算重复上一个值字段的值字段。希望这是有道理的。
SELECT count(*)
FROM Delegate
WHERE CounterField = 1
SELECT a.DelID, a.StaffID, a.CorID, a.[Value],
(SELECT Count(*) FROM Delegate b  
WHERE b.DelID <= a.DelID AND a.[Value]=b.[Value]) As CounterField     
FROM Delegate a;