我正在尝试在Access(2003)查询中创建一个rownumber字段。我看到了几个使用DCount()
函数的例子,但不清楚它如何在根据字符串字段排序的表上起作用。
你能帮忙找到找到正确的语法吗?这是我想要实现的一个例子。
表'测试':
ID Name
------------
1 aa bb
2 aa aa
3 bb bb
4 bb aa
我想获得这张表:
ID Name RowNum
-----------------------
2 aa aa 1
1 aa bb 2
4 bb aa 3
3 bb bb 4
我发现这个查询可以帮助我获得我想要的东西:
SELECT test.ID, test.Name, DCount('test.Name','test','test.Name <=' & 'test.Name') AS RowNum
FROM test
ORDER BY test.Name;
但是,我只能得到这个结果:
ID Name RowNum
-----------------------
2 aa aa 4
1 aa bb 4
4 bb aa 4
3 bb bb 4
你能帮我解决这个问题吗?非常感谢!
答案 0 :(得分:0)
由于test.name是一个字符串,您必须正确引用它:
SELECT
test.ID,
test.Name,
DCount('test.Name','test','test.Name <= ''' & test.Name & '''') AS RowNum
FROM
test
ORDER BY
test.Name;
或如果test.name列可以包含引号,则使用此选项:
DCount('test.Name','test','test.Name <= ''' & replace(test.Name, '''', '''''') & '''')