2011-11-11 161 views
4

クリスタルレポート式フィールド 良い一日、 私はCrystalレポートで売上レポート作っています - 私はMS SQLクリスタルレポート - 合計するどのような記録上の式フィールド条件文

でこのビューを持っているVS2010のC#の

vSales

OrderNo 

OrderDate 

Amount 

PaymentType 

支払いの種類は現金であるか、または をチェックするか、私は両方必要なので、私はすべての選択を行いました同じレポート

どうすればPaymentTypeが現金と等しい額の合計を得ることができますか?

は私が現金&小切手の支払いを持つすべてのレコードを必要とするので

Sum ({vDailySales.Amount}) 

私は私のSELECTステートメントを変更することはできません式ワークショップでは、私の合計金額、小切手と現金の両方の合計を使用

答えて

1

私は2つの方法があります。私が望む出力に応じて

最初の方法で、最も簡単なのは、支払いタイプのグループです。その後、グループのフッターに合計を作成します。 「稼働総額」ツールを使用するか、以下のコードを使用します。

SUM({vDailySales.Amount}, {vDailySales.PaymentType}) 

これは、一度現金や小切手のために1回、2回ので、あなたの場合には、支払タイプごとに結果が表示されます。

ここでは、実行中の合計の「評価」セクションで式を使用できます。表示する内容に対して真偽のステートメントを使用します。例えば、「現金」の文は次のようになります。あなたは総計は、条件付き合計を使用することですたかった場合に簡単になり

if {vDailySales.PaymentType}="Cash" then true else false 

他の方法。

ヘッダで変数を定義:

SHARED numbervar sumcash; 
SHARED numbervar sumcheque; 
sumcheque:=0; 
sumcash:=0; 

を、レポート内の各ラインについて、条件付きで金額を合計するためのフィールドを追加します。以下のような式を使用して:レポートの下部に続いて

SHARED numbervar sumcash; 
SHARED numbervar sumcheque; 

if {vDailySales.PaymentType}="cheque" then 
    sumcheque = sumcheque + {vDailySales.Amount}; 
else 
    sumcash = sumcash + {vDailySales.Amount}; 

、式は別々の変数のそれぞれを表示するようにします。

2

3番目のオプションは、実行中のフィールドを使用することです。計算方法によって、フッターセクションにする必要があります。次の手順を実行し、1を作成するには

  1. 合計を実行すると、挿入を選択し、右クリックし、キャンバス上の{vDailySales.Amount}フィールドを選択...
  2. は、積算合計の名前を設定します。適切な場合は「現金の合計」を入力します。
  3. 要約のタイプが「合計」であることを確認してください。 {vDailySales.PaymentType} =「決して」「現金」
  4. 選択リセットオプションのか:
  5. は条件付き式]ボタンをクリックし、「式を使用する」オプションを選択し、式のテキストとして次のように入力します。このRTフィールドがグループごとに集計される場合は、「グループの変更時」(適切なグループを選択)
  6. [レポートフッター]セクションにフィールドを配置します。

繰り返し代わりに「キャッシュ」の「チェック」参照をチェックし(変更ステップ4を要約します第2走行-合計フィールドのプロセス

4

2つの式の作成 - 第CashAmount及びCheckAmount、たとえば1:レポートに

if {vDailySales.PaymentType}="cheque" 
then {vDailySales.Amount} 
else 0 

は、の集合体を使用する数式と - 和({@ CashAmount})などを

+0

+1ない私は、この技術を言及するのを忘れてしまった理由を確認してください。このフィールドの合計とすることもできます。ヘッダーセクトで使われるイオン(累計フィールドでは不可能)。さらに、この式を{vDailySales.PaymentType} =「確認」、次に{vDailySales.Amount}(式のelse部分を削除する)に変更すると、Summaryフィールドを使用して平均を簡単に計算できます。欠落しているelseセクションによって作成されたNULL値は、計算から除外されます。 – craig

関連する問題