0

選択したパラメータに応じて、テーブル フィールドをテキストまたは日付として表示する必要があります。たとえば、ユーザーが true を選択した場合、datetime タイプの Or​​iginDate フィールドはレポートで日付として表示され、それ以外の場合はテキストとして表示されます。以下のような式を作成して、その式をレポートの詳細セクションに配置しようとしましたが、返されるデータ型が異なるため機能しません。

if {?Mailmerge}=true then
ToText({Travel.OriginDatetime}, "M/d/yy")
else
{Travel.OriginDatetime}

テキストとして表示されたフィールドと日付として表示されたフィールドを持つ2つのレポートを作成しないように、上記の要件を満たす方法はありますか?

4

2 に答える 2

3

フィールドを文字列として返す式を作成し、totext({Travel.OriginDateTime},"M/d/yy")それを元のフィールドに重ねて、レポートの 1 つのインスタンスに 1 つだけが表示されるよう{Travel.OriginDateTime}に、値に基づいてそれらを条件付きで抑制してみてください。{?MailMerge}

于 2012-08-30T18:50:53.467 に答える
1

私があなたをフォローしている場合は、が true の M/d/yy場合のみ表示しますか? そうでない場合は、完全な日付を表示しますか??MailMerge

同じ数式で異なるデータ型を表示することはできないため、条件ステートメントの両方の部分を文字列に変換するだけです。

if {?Mailmerge}=true then
ToText({Travel.OriginDatetime}, "M/d/yy")  // 8/30/12
else
ToText({Travel.OriginDatetime}, "M/d/yy hh:mm:ss")  // 8/30/12 02:06:00

データベースで日付が正確にどのように見えるかはわかりませんが、?MailMergeパラメーターに基づいて日付をフォーマットするためのガイドラインとして上記を使用できます。

于 2012-08-30T18:06:16.690 に答える