2016-02-27 67 views
0

堆栈溢出的好人。我如何动态选择水晶子报告的记录

我卡住这个one.my晶体报告上使用连接查询

 str = "SELECT invoices.voucher, 
       invoices.customer_name,invoice_details.item_name, 
       invoice_details.Amount FROM invoices 
       LEFT OUTER JOIN invoice_details 
       ON invoices.voucher =invoice_details.voucher " 

晶体报告由凭证分组和细节被放置在的组细节细节部分,以显示项目名和项目量。 它的设计完美。

但是,在VBNET运行时,当我选择完全相同的查询时,我获得了重复行项目。示例如果invoice_details表中的发票项目在我的报告中为三个,那么这三个项目将重复三次。

我已经在互联网上检查过相同的抱怨。没有运气。 有人建议“压制如果重复”具有唯一编号的项目,如凭证编号。我没有得到成功。

有人遇到过这个困难,你能建议如何解决这个问题吗?

+0

看起来像左外连接是罪魁祸首在这里...尝试使用内连接也发射相同的查询数据库和检查记录 – Siva

+0

谢谢你。不幸的是仍然重复。 – webzy

回答

0

如果它可以帮助别人... 我在设计水晶报表时使用两张表,发票和invoice_details来重复订单项。

然后在水晶报表设计中使用链接功能。

我没有意识到我应该使用存储视图(从数据库访问查询)设计水晶报表。在使用存储视图时,我没有在设计报表时进行任何链接,但使用分组专家按发票号进行分组。

因此,报告终于在很多挫折后运作良好。