0

Crystal Reports は初めてで、コードの問題はそれほど複雑ではありませんが、正しい構造を見つけるのに苦労しています。

同じ SalesOrderID から来ている場合、すべて同じ最初の 5 桁で始まる jobID があります。最初の 5 桁は salesID 番号です。

JobID の 1 つだけで生産が完了した場合、SalesOrderID の下にすべての JobID を表示したいと考えています。

if {Jobs.jmpProductionComplete} =-1.00
 then
(
  If {Jobs.jmpJobID} startswith left({Jobs.jmpJobID},5)
  then {Jobs.jmpJobID}
  else  ""
)

しかし、「選択式の結果はブール値でなければならない」というエラーが発生しました

次に試しました:

if {Jobs.jmpProductionComplete} =-1.00  then
(
  If {Jobs.jmpJobID} startswith left({Jobs.jmpJobID},5)
  then not(isnull({Jobs.jmpJobID}))
)

しかし、これには、Production Complete とマークされた単一の JobID しか表示されませんでした。

次に試しました:

  1. 次のコードで数式を作成しました: left({Jobs.jmpJobID},5) という名前の @jobidformula

  2. グループ エキスパートに移動し、この数式をグループ リストに移動します。

  3. グループのヘッダーとフッターを抑制

  4. [レポート] > [選択式] > [グループ] に移動し、次のコードを使用しました。

    Minimum({Jobs.jmpProductionComplete}, {@jobidformula}) = -1
    

それでもうまくいきませんでした。誰かが私に与えることができる他の指針はありますか?

4

1 に答える 1

0

私はそれを考え出した!

最初にレポートに、salesOrderID でグループ化された生産が完了した JobID のみが表示されるようにしました。

パラメータが SalesOrderID であるサブレポートを作成しました

選択式では生産完了しないように設定しました。私はそれらをすべて並べて、出来上がり!問題なく動作します。

于 2013-08-28T13:00:42.037 に答える