8

次のコードを拡張して、時間を秒なしで AM/PM とともに表示するように依頼されました。

=IIF(Fields!New_Date.Value <> "NO CHANGE", FormatDateTime(IIF(Fields!New_Date.Value = "NO CHANGE","1/1/12",Fields!New_Date.Value),DateFormat.ShortDate), "") &
IIF(Fields!New_Time.Value <> "NO CHANGE",FormatDateTime(IIF(Fields!New_Time.Value = "NO CHANGE","00:00",Fields!New_Time.Value),DateFormat.ShortTime), "")

私がやろうとしていたことに対して FormatDateTime が不十分であることに気づいたとき、次のことがうまくいかないことがわかりました (時間フィールドに関連するスニペットを見るだけです)。

Format(IIF(Fields!New_Time.Value = "NO CHANGE","00:00",Fields!New_Time.Value),"HH:mm tt")  

またはこれ

Format(IIF(Fields!New_Time.Value = "NO CHANGE","00:00",Fields!New_Time.Value),"HH:MM tt")

ここからフォーマットコードを取得しています。

私は何を間違っていますか?

4

4 に答える 4

10

したがって、本質的にテキストボックスをフォーマットしようとしていたため、SSRS はそれが時間フィールドであることを実際に「認識」していないことがわかりました。私の推論が 100% 正しいとは限りませんが、次のように動作する理由は説明できます。

Format(CDate(IIF(Fields!New_Time.Value = "NO CHANGE","00:00",Fields!New_Time.Value)),"hh:mm tt")
于 2013-02-20T15:16:55.307 に答える
10

データが単純なテキスト ボックス (またはテーブル セル) にある場合は、より簡単な解決策があります。

テキストボックスを右クリック>プロパティ:

以下を使用します。 ここに画像の説明を入力

于 2013-02-20T17:20:07.667 に答える