web-dev-qa-db-ja.com

CrystalReportsでDateTimeオブジェクトを文字列に変換する方法

以下のCrystal Reportsコードの簡単な行があります。

EffectiveDateTimeString = ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );

しかし、数式を検証しようとすると、「dd-MM-yyyy hh:mm:ss」が選択された状態で「この関数に引数が多すぎます」というエラーが表示されます。 Command.EffectiveDateはDateTimeオブジェクトです。これを文字列に変換するにはどうすればよいですか?

ありがとう!

6
SpartaSixZero

等価演算子:=ではなく、代入演算子=を使用する必要があります。

EffectiveDateTimeString := ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );

* 編集*

このスニペットは期待どおりに機能します。

ToText(CurrentDate + CurrentTime, "dd-MM-yyyy hh:mm:ss");

フィールドがどちらか一方ではなく、実際に日付/時刻を返していることを確認してください。

4
craig

これを試して:

EffectiveDateTimeString := CStr(DateTime({Command.EffectiveDate} , "dd/MM/yyyy hh:mm:ss" ));

{Command.EffectiveDate}が正しい形式でない場合、これにより、実際にDateTimeであることが保証されます。

それが機能しない場合は、私のサンプルレポートで簡単な数式を作成しただけで、次のコードはDateTimeフィールドで問題なく機能しました。

stringVar EffectiveDateTimeString;
EffectiveDateTimeString := CStr({Command.EffectiveDate}, "dd/MM/yyyy hh:mm:ss");
EffectiveDateTimeString
1
campagnolo_1