PostgreSQL ODBC ソースを介してデータを取得する Crystal Reports を利用する際に、かなり厄介な問題が発生しています。データベースエキスパートでブール値として表示され、Crystalレポートのほぼすべての場所に表示されるブール値フィールドがあるようです。使用しようとしている if ステートメントがありますが、これは機能しないか、使用時にエラーになります。データを参照すると、1 または 0 のいずれかで、長さが 5 の文字列です。これを修正しようとすると、控えめに言っても問題が発生します。
これは機能しません (常に client_contact ではなく client から名前を取得します)
if ({client_contact.bill_to_contact} = "1") Then
trim({client_contact.given_name} + ' ' + {client_contact.initial}) + ' ' + UpperCase({client_contact.surname})
else
trim({client.given_name} + ' ' + {client.initial}) + ' ' + UpperCase({client.surname})
これは、bill_to_contact でブール値が必要であると言ってエラーになります (これはブール値です)。
if {client_contact.bill_to_contact} Then
trim({client_contact.given_name} + ' ' + {client_contact.initial}) + ' ' + UpperCase({client_contact.surname})
else
trim({client.given_name} + ' ' + {client.initial}) + ' ' + UpperCase({client.surname})
CRバージョン12.0.0.683のeqv関数を試しました。