0

我遇到了一个关于 Crystal 的奇怪问题 - 我有一个基本报告,它显示依赖于布尔值('open')为真的记录。但是,在某些 PC 上它可以正常工作,而在其他 PC 上它只是显示一个空白报告。

对此进行了一些检查后,查看 SQL 查询似乎表明 Crystal 在不同机器上解释布尔值的方式存在问题。

如果我们在每台机器上选择“显示 SQL 查询”,则不起作用的机器将布尔部分显示为:

`support`.`open`=1

那些工作显示:

 `support`.`open`=.T.

...由于数据源是通过 ODBC 驱动程序的 VFP 表,这似乎更现实。

我无法完全弄清楚这一点 - 我想这可能与 ODBC 驱动程序有关。有没有人知道为什么会发生这种情况?

谢谢

4

1 回答 1

0

布尔值应该通过 ODBC 直接解释...我会将查询更改为

在哪里'support.open'

如果合乎逻辑,它只会是.T。/ 。F。或 true / false 或 1 / 0... 让 ODBC 处理程序为您处理它。

--- 通过评论编辑。

我指的不是Crystal的报表公式,而是查询...但是如果这就是Crystal中的问题,我会将正在检索数据的查询更改为...

IIF(support.open, "YES", "NO" ) 作为 ItemIsOpen

VFP OleDB / ODBC 应该识别 IIF() 并将列分别返回为“YES”或“NO”字符串......然后在报告中使用“ItemIsOpen”列而不是“support.open”列。

于 2011-04-12T15:28:16.097 回答