0

Crystalで奇妙な問題が発生しています-ブール値(「open」)がtrueであることに依存するレコードを表示する基本的なレポートがあります。ただし、一部の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 " ) as ItemIsOpen

VFP OleDB / ODBC は IIF() を認識し、列をそれぞれ「YES」または「NO」の文字列に戻す必要があります。次に、レポートで「support.open」列の代わりに「ItemIsOpen」列を使用します。

于 2011-04-12T15:28:16.097 に答える