报告不显示Server 2008 R2上VS2008中的数据?

时间:2012-09-26 09:35:33

标签: sql sql-server-2008 dynamics-crm-2011 reporting-services

我必须构建一个自定义报告,该报告使用报告中的客户端名称,地址和用户名获取每个订单的订单行。

当我做一个简单的查询时:

SELECT FilteredSalesOrder.*, FilteredAccount.* 
FROM FilteredSalesOrder INNER JOIN FilteredAccount 
ON FilteredSalesOrder.customerid = FilteredAccount.accountid

我检索数据但仅针对一行。当有更多时,预览不显示任何内容。 这不是一个大问题,因为我一次只需要1个订单。

因此,对于我的OrderReport,我需要每个订单的所有OrderLines。报表按订单打印,而不是同时打印多个订单。 它看起来像这样: enter image description here

我刚加入了5张表,我需要在订单报告中提供数据。

SELECT FilteredSalesOrder.*, FilteredAccount.*, FilteredSalesOrderDetail.*, FilteredSystemUser.*, FilteredProduct.*
FROM ((((FilteredSalesOrder INNER JOIN FilteredAccount 
ON FilteredSalesOrder.customerid = FilteredAccount.accountid) INNER JOIN FilteredSalesOrderDetail 
ON FilteredSalesOrderDetail.salesorderid = FilteredSalesOrder.salesorderid) INNER JOIN FilteredProduct
ON FilteredProduct.productid = FilteredSalesOrderDetail.productid) INNER JOIN FilteredSystemUser
ON FilteredSystemUser.systemuserid = FilteredSalesOrder.ownerid)

总结一下:

  • 我的SQL查询是否正确?
  • 当我上传一个简单的报告时,它给出了错误rsInvalidDataSourceReference。我知道这个问题意味着什么,但我需要做些什么来解决它。
  • 如何确保在报告中,订单行表根据需要不断增长以包含所有订单?

1 个答案:

答案 0 :(得分:1)

  • 我的SQL查询是否正确?

它返回了一个错误,因为查询返回了超过665列,显然SQL无法处理。

  • 当我上传简单​​的报告时,它会给我错误 rsInvalidDataSourceReference。我知道这个问题意味着什么,但是 我需要做些什么来解决它。

通过在记事本中打开报表时调整连接字符串解决了这个问题,您可以对其进行修改以匹配您的生产环境。

  • 如何确保在报告中,订单行表保持开启状态 根据需要增长以包括所有订单?

当您使用SQL Server上的Visual Studio 2008报表向导生成报表时,报表会自动处理此问题。如果从数据集中拖放字段。报告只会记录它找到的第一条记录。