0

これが私が持っているものです。Week1、Week2、...Week15という名前の15の一意の数式があります。パラメータ名MYCountを取得し、それを使用してレコードをループして合計できるようにしたいと思います。したがって、MyCountが3に等しい場合、ループはWeek1 + Week2+Week3の合計になります。ループを作成する方法は知っていますが、数式名を動的に作成する方法がわかりません。これが私がこれまでに持っているものです:(私はCrystalXiを使用しています)

 Whileprintingrecords;
 local NumberVar i := {?MyCount}
 For i := 1 To (MyCount-1) Do (
    i = {@Week & "i"} + i
 );
 x
4

3 に答える 3

1

複雑すぎているのではないかと思います。なぜそうしないのですか?

Local numbervar x := 0;
If param > 0 then
 X := x + week1;
If param > 1 then
 X := x + week;
And so on...
 X;
于 2012-04-27T12:44:41.313 に答える
0

私はあなたが何をしようとしているのか正確にはわかりませんが、別のアプローチを検討することをお勧めします。

日付フィールドの週番号に基づいてフィールドをセグメント化する数式を作成します。

//{@amount}
// adjust firstDayOfWeek and firstDayOfYear parameters to match your organization's
// definition of a week
If DatePart("ww", {table.dateField})<={?Week} Then
  {table.amount}

数式フィールドに要約フィールドを挿入します。

于 2012-04-27T13:32:54.333 に答える
0

@Weeknページ全体で日付別に要約できるように数式フィールドを使用している場合は、代わりにCrystalのクロス集計機能を使用することを検討しましたか?

于 2012-04-30T05:38:31.210 に答える