我遇到了一个奇怪的问题 - 我有一个基本的报告,显示依赖于布尔值('open')的记录为真。但是,在某些PC上它可以正常工作,而在其他PC上它只显示一个空白报告。
对此进行了一些检查后,查看SQL查询似乎表明Crystal在解释不同机器上的布尔值时存在问题。
如果我们在每台机器上选择“显示SQL查询”,那些不起作用的机器会将布尔部分显示为:
`support`.`open`=1
工作的那些显示:
`support`.`open`=.T.
...由于数据源是通过ODBC驱动程序的VFP表,因此看起来更加真实。
我无法理解这一点 - 我想这可能与ODBC驱动程序有关。有没有人知道为什么会发生这种情况?
由于
答案 0 :(得分:0)
布尔值应该通过ODBC直接解释...我会将查询更改为只有
'support.open'
的位置如果合乎逻辑,它只会是.T。 / 。F。或者是真/假或1/0 ......让ODBC处理程序为你处理它。
---通过评论进行编辑。
我没有提到Crystal的报告公式,而是查询...但如果那是Crystal中的问题,我会更改将数据转发为查询的查询...
IIF(support.open,“YES”,“NO”)作为ItemIsOpen
VFP OleDB / ODBC应识别IIF()并将列分别返回“YES”或“NO”字符串...然后使用报表中的“ItemIsOpen”列而不是“support.open”列。