以下のCrystal Reportsコードの簡単な行があります。
EffectiveDateTimeString = ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );
しかし、数式を検証しようとすると、「dd-MM-yyyy hh:mm:ss」が選択された状態で「この関数に引数が多すぎます」というエラーが表示されます。 Command.EffectiveDateはDateTimeオブジェクトです。これを文字列に変換するにはどうすればよいですか?
ありがとう!
等価演算子:=
ではなく、代入演算子=
を使用する必要があります。
EffectiveDateTimeString := ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );
* 編集*
このスニペットは期待どおりに機能します。
ToText(CurrentDate + CurrentTime, "dd-MM-yyyy hh:mm:ss");
フィールドがどちらか一方ではなく、実際に日付/時刻を返していることを確認してください。
これを試して:
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