我正在处理一个报告,需要在我的一个数据集和RPT文件中添加一列,但是当我尝试修改数据集时,我收到一条错误,指出的表不存在。当我查看代码时,看起来最初有一个用于此目的的表,但是这种方法已被放弃,现在这是通过附加到报表的代码中的DataSet完成的。
我的问题是我需要在报告中添加这个新列,我似乎无法以某种方式处理数据,因此我可以将新字段拖到报表上,因为我找不到DataSet所需的部分,因为它不像以前那样存在,而且代码DataSet现在可以使用它。
那里的任何人都能指出我如何开展这项工作的正确方向?
更新 这大致就是我的数据集如何进入Crystal Report
private Sub ShowReport()
Dim dsStatsForPlanned As DataSet = Nothing
dsStatsForPlanned = DirectCast(Session(CreateSessionKey()), DataSet)
plannedProductRpt.SetDataSource(dsStatsForPlanned)
End Sub
我在Session中添加了DataSet所需的附加字段,但是我尝试使用Designer将这个额外的字段添加到报表中,当我尝试重新刷新或更改数据源时,Designer告诉我们我认为该表不存在,大概是因为这个表只存在于内存中,并没有直接绑定到SQL表。
答案 0 :(得分:3)
经过几天的挖掘,并找到了许多无用的信息,我终于在2006年的帖子中找到了我的问题的答案:
http://sstjean.blogspot.com/2006/12/xsdexe-and-msdatasetgenerator-operate.html
我采取了哪些措施来解决问题:
答案 1 :(得分:0)
我的方法是实际修改Crystal之外的数据。因此,无论是更改查询还是更新.xsd,您都可以在其中添加列。然后在Crystal Reports中,您将转到菜单栏中的“数据库”,如果您的数据源/位置未更改,则选择“验证数据库”,如果有,则选择“设置数据源位置”。重新验证数据源后,新列应显示在数据库字段中,您将能够将其拖到报表中。