我正在处理报告,需要向我的数据集和RPT文件中的一个添加列,但是当我尝试修改数据集时,我得到指定的表不存在的错误。当我查看代码时,它看起来最初有一个用于此目的的表,但是这种方法已经被放弃,现在这是用附加到报告的代码中的DataSet完成的。将列添加到CrystalSet的DataSet(xsd)
我的问题是,我需要在报告中添加这个新列,我似乎无法以某种方式获取数据句柄,因此我可以将新字段拖到报告上,因为我无法找到所需的DataSet部分,因为它不像以前那样存在,并且DataSet中的代码现在占据了它的位置。
任何人都能指出我在正确的方向如何去做这项工作?
UPDATE: 这大约是我的数据集是如何获取到水晶报表
private Sub ShowReport()
Dim dsStatsForPlanned As DataSet = Nothing
dsStatsForPlanned = DirectCast(Session(CreateSessionKey()), DataSet)
plannedProductRpt.SetDataSource(dsStatsForPlanned)
End Sub
我已经添加了额外的领域,我需要从会议即将在DataSet,但我想使用Designer将这个额外的字段添加到报表中,当我尝试刷新或更改数据源时,Designer告诉我该表不存在,大概是因为该表只存在于内存中,并且不直接回连到一个SQL表。
此方法在过去与其他数据集完美配合,但似乎不适用于如何将此当前数据集引入此报告。我更新了原始问题,并解释了我的数据集如何绑定到报告。 – Adam 2012-03-07 19:06:21
您是该报告的原始作者吗?如果是这样,你最初是如何创建数据源的?如何创建一个新的数据源来取代Session?我知道这并不理想,但也许像Session2这样的东西可能会使Designer识别出这些变化。 – 2012-03-07 21:03:11
这是问题的一部分,我不是原创设计师,也不能访问原始设计师或任何文档,我只是维护人员。从代码中我可以理解,原始数据源WAS是XSD数据集中的一个表格,但是随后使用后面的代码将其转换为分配给该报告的内存数据集中的相同内容。 – Adam 2012-03-07 22:07:59