1

日付パラメーターを使用するレポートがあります (SSRS では datetime でなければなりません。ユーザーが「5/1」などの日付を入力すると、DateTimeOffset データ型が作成されますが、それを他のものにキャストしたり、フォーマットしたり、テキスト ボックスに連結したりする方法が見つかりません。日付を文字列などにキャストしようとしました。得られるのは次のとおりです。

タイプ 'DateTimeOffset' からタイプ 'String' への変換は無効です。(「文字列」は、キャストしようとするものに置き換えられます)

ユーザーが日付フィールドに「5/1」と「5/31」と入力すると、テキスト ボックスに「2013 年 5 月 1 日から 2013 年 5 月 31 日まで」と表示されるようにする方法があるはずです。マイクロソフトは、コンピューターに詳しい人が、タブを使用する代わりに日付ピッカーを使用するためにマウスを手に取りたいと本当に考えているのでしょうか?

4

2 に答える 2

1

Parameters!Param1.Value.DateTime は、ユーザーが年を省略したときに役立ちましたが、ユーザーが年を含めることを決定したときに機能しなくなりました。両方の条件で動作させることができませんでした。

これを試して。

日付パラメーター値をフィールドとして結果セットに含めます。SQL は次のようになります。

SELECT field1, field2, Convert(date, @FromDate) [FromDate_param] FROM table

次に、次のような SSRS で式を作成できます。

 ="From " & Format(First(Fields!FromDate_param.Value), "M/d/yy")
于 2014-03-05T01:06:14.130 に答える
1

次の式を試してください。

="From " & Format(Parameters!Param1.Value.DateTime, "M/d/yyyy") & " to ..... etc"

この式をテストするために、新しいレポートを作成し、DateTime パラメーターを追加して、テキスト ボックスに「5/1」と入力し、Enter キーを押しました。レポートには、次のテキスト ボックスが表示されます。

2013 年 1 月 5 日から ..... など

私のロケールでは、これは正しいです。DateTime 値を入力すると、月の前に日が来ると想定されるからです。レポートを表示すると、テキスト ボックスも更新されて次のように表示されます。

2013 年 5 月 1 日 0:00:00 +01:00

これから推定して 2 番目のパラメーターにも使用し、式を拡張してレポートに必要な正確な文字列を表示できるはずです。

于 2013-05-28T18:29:16.017 に答える