问题标签 [crystal-reports-8.5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
crystal-reports - Crystal Reports 8.5 中的自定义函数?
我可以发誓有一种方法可以做到这一点(没有 DLL),但是通过谷歌的前几页,我找不到它。也许我在想别的东西。
我必须在 Crystal Reports 8.5 中进行一些开发。我认为有一种方法可以编写自定义函数。就像创建一个自定义公式,然后在公式的代码中编写一个函数,并将公式字段放在报告的顶部,使其可供其他任何需要它的人使用。
没有办法做到这一点吗?
crystal-reports - 无法以编程方式设置 Crystal Report 选择公式
首先,我受不了Crystal!好吧,这是我的胸...
现在,我们为客户维护了一个旧的VB6应用程序,它使用 Crystal 自动化库以编程方式更改一组Crystal Reports 8.5报表中的记录选择公式。
有两份报告几乎相同。我最近不得不更改它们以从另一个表中添加另一个字段。但是,当我将表添加到报告中时,虽然它在可视化设计器中添加了它,但它没有在 SQL 语句的 FROM 子句中添加它。因此,我手动编辑了 SQL 语句以添加附加连接。KO,效果很好。如果我在 Crystal 预览模式下运行报告,它们将完全按预期工作。
现在,用户从 VB 应用程序中测试更改。其中一份报告工作得很好而且花花公子。然而,另一份报告未能按预期设置选择公式。
代码使用函数设置选择公式PESetSelectionFormula
。我通过逐步检查变量验证了作为新选择公式传递给函数的字符串是正确的。调用PESetSelectionFormula
似乎工作正常,并且返回值 1,在我能找到的任何地方都表明成功。(从代码中运行良好的另一个报告也返回 1。)
但是,报告因错误而失败:Error Code: 534 - Error detected by database DLL.
出于调试目的,代码转储了报告当前使用的 SQL 字符串。报告中的 SQL 是:
正如您所看到的,WHERE 子句是空白的,我想这就是为什么数据库 DLL 会在此语句上加速。我不明白为什么自动化库没有设置 WHERE 子句,即使调用PESetSelectionFormula
被传递了一个有效的字符串并且返回成功。我想这可能是因为我在报告中手动编辑了 SQL 以添加它没有添加的表,但我在另一个几乎相同的报告中做了同样的事情,并且那个工作正常。
任何人都有任何想法为什么PESetSelectionFormula
可能会报告成功但实际上没有做任何事情?
PS我已经尝试从菜单中执行数据库>验证数据库,这表示报告都是最新的,根本没有帮助。
debugging - 使用 Crystal Report ToText() 的负零
在 Windows Vista 或 7 上使用 Crystal Reports 8.5,我使用 ToText 函数来报告一个值:
结果(如果 yrentamt 为 0)是 -000000000000000000 破折号(我认为它是一个负号)在我的报告中是不必要且不需要的。这是一个错误,还是有一个简单的解决方案?
- 笔记 -
我非常想避免以下情况:
我有大约 100 个文件要使用每个文件的多个公式来修复,而上述解决方案似乎也不能始终如一地工作。
vb6 - VB6 和 Crystal Reports 打印
我在 VB6 应用程序中有一个 Crystal 8.5 报表。大约 2 天前,一切都像魅力一样。
从今天早上开始,每当我按“查看报告”时,它都会显示在屏幕上,但“打印”按钮被禁用,意思是visible=false
。我看不到它,所以我可以打印报告。
请记住,直到今天早上,一切都像魅力一样工作,我能够打印所有报告。从今天早上开始,我无法打印其中任何一个
选中“无打印机”复选框...
有人遇到过这个问题吗?
crystal-reports - 将子报表字段传递给另一个子报表?
我有一份相当复杂的报告。我已经设法创建它,直到第一个子报告。现在我必须在第二个子报表'水平'中总结第一个子报表的字段。
1) 我如何将子报告 1 中的字段传递到子报告 2 (名称和总数)并水平/每年列出它们?
2)如何让每个摘要以(Client1,Year1...YearN)的方式显示。如果我为第二个子报告插入一个部分,它会在 (Client1,Year1) 之后显示第二个子报告。我在部分专家之后设置了页面,但它不是我想要的顺序:|
我想在 (client1,Year1--------YearN) 之后显示此部分
报告的设计方式类似于
string - 如何在 Crystal Reports 8.5 中显示超过 254 个字符的字符串?
嗨,如何在水晶报表 8.5 创建的报表中显示超过 254 个字符的字符串?我的显示报告的应用程序是一个 vb6.0 应用程序。
谢谢
vb6 - 我们如何将数据从水晶报表(8.5)传递到vb表单
我通过 Crystal Report v8.5(Vb6 和 Access)制作了发票。有商品名称和价格。最后净应付金额:500(Exp),我需要用文字显示(五百)。Crystal 内置功能不适合它。所以在VB6中编写一个函数,它工作得很好。现在的问题是我如何将此值 Crystal Report (v8.5) 发送到 vb。(我知道将数据从 VB6 发送到 Crystal)
crystal-reports - 为什么我的报告在导出为 PDF 文件时有奇怪的字体?
您好,我有一份由 Crystal Reports 8.5 创建的报告。当我运行我的应用程序(vb6)并想显示报告时,一切都很好,但是当我将它导出为 PDF 文件时问题就开始了。.pdf 文件有奇怪的字体,无法阅读。
我使用“Tahoma”字体在报告上显示文本。
你的解决方案是什么?有什么解决办法吗?
crystal-reports - Crystal Reports 组标题抑制公式不起作用
我有一份按两个代码分组的报告,我们称它们为Parent
和Child
。
在每一页的顶部,在页眉中,我想打印父名称。
报告中有许多列,当分组中断时,我想再次显示新的子名称以及列标题。报告应如下所示:
但是,如果子组环绕到新页面,我想在再次显示数据之前重新显示子名称和列标题。
为此,我创建了一个包含以下对象的页眉:
页眉中有一个变量RowReset
,其中包含以下公式:
然后,在每个详细信息行以及 Group Footer 1 和 Group Footer 2 部分中,我有以下RowIncrement
公式:
最后,在每个 Group Header 2 部分中,我有以下条件抑制公式:
如果我们在一个全新的页面上,并且还没有打印任何详细记录,那么这个尝试做的是抑制子组标题,以防止发生以下情况:
出于某种原因,我无法弄清楚,报告大约有 40 页,但我确实明白了;一个页眉记录,后跟一个组页眉 2 记录。如果我创建一个包含条件抑制公式的公式,它会显示TRUE
,但组标题仍然不抑制。
如果我分解代码以便它只检查一个条件(PageNumber <> 1
或nRowCount = 0
),那么组标题 2 会正确抑制。
我什至尝试过这样做来解决问题:
它True
在屏幕上显示时也会显示,但无法抑制组标题。
我到底在这里做错了什么?我可以采取更好的方法吗?
crystal-reports - Crystal 决策注册向导
我已将我的报告文件 Crystal Report 8.5 升级到 ver.-9.00。报告文件与 vb6 集成(无外部 .rpt 文件)。从许多报告中,我升级了 18 个报告文件。当我运行该项目 18 次时,提醒我“Crystal Decision Registration Wizard”。直到我不关闭项目一切正常。如果我关闭项目并重新打开,然后再次提醒我“水晶决策注册向导”18 次。