5

Crystal Reportsを使用して、すべてのラベルがあるヘッダーにデータベース フィールドの現在の合計を表示しようとしています。

これを行うには、現在の合計 (RTversion) を次の数式フィールドに配置してみました。

Shared stringvar CurrentVers; 
CurrentVers := {#CurrentVers}; 

次に、ページヘッダーセクションに次のものがあります。

Shared stringvar CurrentVers; 
EvaluateAFter({#currentVers}); 
CurrentVers; 

{#CurrentVers} が 1 番目に大きい数値を実行しています。

これは間違っていますか?

更新: 目標は、ラベルの近くのヘッダーに最新バージョンを表示して、比較のために現在のバージョンが何であるかを示すことです。

4

6 に答える 6

4

このような式を作成します

formula = Count ({Field to count},{GroupFieldName}) 

グループヘッダーセクションに配置します。

于 2010-07-28T10:17:56.573 に答える
4

私の経験では、累計フィールドはフッター セクションでのみ機能します。

手動の累計を作成する必要があります。

詳細セクションに数式フィールドを追加して、キャプチャしようとしているものをグローバル変数に入力します。何かのようなもの:

//use WhileReadingRecords if the values can be gathered as the report pulls in values from the database.  Otherwise, use WhilePrintingRecords. 
WhileReadingRecords;
Global Stringvar CurrentVers;
//logic here to capture what you want
CurrentVers:=...

ヘッダー セクションに別の数式フィールドを追加します。次の 2 行を追加します。

WhilePrintingRecords;
Global Stringvar CurrentVers;
于 2009-11-03T22:49:42.603 に答える
1

私はそれを考え出した..

メインレポートにサブレポートを追加する必要がありました。メインレポートをコピーして、サブレポートに名前を変更しました。サブレポートでは、共有変数を追加してから、メインレポートに渡しました。秘訣は、サブレポートを同じグループヘッダーに配置することですが、非表示にする必要があるセクションの上に別のセクションを配置します。私は実際に次のセクションを追加しました:

新しいセクション(同じグループ-ここにサブレポートを配置しました。抑制しません)新しいセクション(同じグループ-ここに共有変数値を配置しました;抑制しません)元のセクション(現在の合計に基づいて抑制する必要のあるヘッダーを持つ同じグループ)

于 2010-05-23T19:15:34.727 に答える
0

私が見つけた重要な点は、渡される数式フィールドをサブレポートに配置する必要があるということです。私はフッターに私のものを置き、それを抑制しました。

于 2013-04-22T15:29:32.947 に答える
0

これは、1 つの数式フィールドだけで解決できます。

WhilePrintingRecords;
// Enter logic here e.g.
// maximum({mytable.myfield});

WhilePrintingRecords;、すべてのレコードがデータベースから読み取られるまで数式が評価されないようにするため、ヘッダーに配置されている場合でも、数式フィールドには正しい結果が表示されます。

于 2012-08-30T09:12:27.170 に答える
0

{#CurrentVers} が通常の累計フィールドである場合は、追加の数式に頼るのではなく、ページ ヘッダーに直接配置できるはずです。{#CurrentVers} の構成に異常があり、「最大数」の実行中の合計が通常とは異なるものを必要としない限り、ここではどちらの数式フィールドも必要ないと思います。

于 2009-11-03T08:02:59.070 に答える