我有一个从查询中获取数据的报告。查询本身在SQL中有DISTINCTROW。但是,当我使用查询作为报表的记录源时,它会输出数据,就好像DINSTINCTROW未在查询中进行了十进制(唯一记录)。
在选择查询作为报告的记录源时,是否有一些我忘记添加的选项? 我已经尝试将SQL代码复制并粘贴到报告记录源中,但没有区别。
查询结果:DISTINCT(与ALL相同)
A B C D
5669 7625 7625 $680.00
5677 7635 7635 $1,448.75
5757 7751 7751 $562.50
5776 7773 7773 $825.00
5796 7796 7796 $53.75
5810 7814 7814 $150.00
查询结果:DISTINCTROW
A B C D
5669 7625 7625 $156.25
5677 7635 7635 $30.00
5757 7751 7751 $180.00
5776 7773 7773 $15.00
5796 7796 7796 $31.25
5810 7814 7814 $120.00
答案 0 :(得分:0)
如果在报告中,显示的字段不在详细信息部分中,而是在分组部分(如标题部分或页脚部分)中,则可能会发生这种情况。如果是这样,则报告仅显示分组值,即不同的值。
答案 1 :(得分:0)
如果查询的'unique values'
属性设置为yes
,或者查询的sql开始SELECT DISTINCT
,则应该是这样。您确定自己没有在报告recordsource
中进行其他加入吗?如果您从查询中创建一个新的空白报告,它是否只返回不同的行?
在回复您的评论时,如果基于查询的空白报表返回不同的行,则问题出在查询上。您是否检查了记录计数以查看它们是否匹配?也许它看起来像查询返回不同的行,但事实并非如此。 如果基于查询的空白报告返回了不同的行,另一方面,您可以确定您的查询是正常的,并且在报告中引入了其他行。
此外,DISTINCT
和DISTINCTROW
会返回不同的结果 - 您需要DISTINCT
,而不是DISTINCTROW
。检查查询的'unique values'
属性。
'unique values'
和'unique rows'
是两回事,您可以查看帮助文件。你想要'unique values'
。
答案 2 :(得分:0)
在查询中,将DISTINCTROW替换为DISTINCT。