我们正在使用Visual Studio附带的精简版Crystal Reports。我们刚刚从2008年升级到2010年,并且正在使用VS 2010附带的水晶报告(我相信它是2011年)。
在升级DLL之后,我们遇到了一个问题,我们的报告选择公式在将其转换为SQL时丢失了各种条件。例如,我们有一个名为Dates的DateTime参数,该参数将传递到允许范围值的报告中(2012年1月1日至12月31日)。在我们的选择公式中,我们具有Invoice.Date = {?Dates}的条件来选择日期范围内的发票。该报告允许我们保存并继续,就好像没有问题但是如果我们查看SQL查询,则日期范围没有WHERE条件。
即使我们尝试使用硬编码日期设置选择条件(Invoice.Date> = 2012-01-01),它也永远不会出现在SQL查询的WHERE条件中。
有没有人遇到过这个问题?
编辑:
在运行时在对话框中从用户收集参数后,参数将作为实际Crystal Reports参数对象传入。指定硬编码值,设计时间正常。在运行时提供它们时它不起作用。
由于截止日期我们不得不放弃尝试找到解决方案,我们只是从数据库中获取数据并填充我们传递给报告的DataSet。 (如果有一个解决方案,仍然对解决方案感兴趣。)但是,正如所说的那样,Crystal Reports生成的SQL查询看起来完全正确,除了WHERE条件排除了我们试图通过使用参数进行过滤的任何事情。