如何更新Crystal Reports SQL表达式字段中的表名?



我在ERP系统中使用一个现有的Crystal Report,它在他们的应用程序中工作得很好。也就是说,我不想改变报表定义因为应用程序能够解决这个问题。我已经编写了一个。net应用程序,使用SDK来运行Crystal Report并创建PDF。

该报表在Crystal报表中定义了几个SQL表达式字段。在这些表达式中,SQL中使用了完全量化的名称。例如,下面的表达式有"TEST"作为引用表1的数据库。这是报告文件中的内容。

({fn ifnull((select Count(*) from TEST.dbo))表1内部连接表2在表2上。ID =表1。ID Where表2。ID = MainSQL。ID和表2。ItemID = MainSQL.ItemID),0)})

然而,当我从分析器中获得SQL时,那"TEST"数据库更改为"live"。报告起作用了。是的,当我编辑水晶报表SQL表达式并更改"测试"时。";LIVE"在报告文件-我的应用程序工作完美。但是,我不希望在源报告更新时必须记住更改源报告。我发现水晶报表SQL表达式字段是只读的。

是否有一种方法可以在运行之前获得水晶报告中的SQL ?我知道CR有一个"显示SQL查询"在菜单中,但我不确定SQL是否可以更新。

任何帮助都将非常感激!

我尝试更新SQL表达式字段,但它们是只读的。我找不到一种方法来获取报告和更新的SQL。

是的,Ken Hamady在这里列出的报表管理实用程序中至少有一个可以使用Find &取代逻辑。

最新更新