2011-12-04 19 views
0

SSRSに日付形式の問題があります。 DateTimePickerの日付をデータベースに保存しています。そこから私はSSRSの日付形式の問題

dgv.items(0,2).value=Format(Cdate(dsSaver.tblInv.rows(0).items(0)),"dd-MMM-yyyy") 

これは(04-Nov-2011)それを正しく表示するが、私は

="Dated: " &Format(cdate(Fields!InvDate.Value),"dd-MMM-yyyy") 

を使用して、私のSSRSに同じデータベースから日付を取るとき、それは11-Apr-2011.

のようにそれを表示する以下の使用して、私のDataGridViewに表示を取っています

すべてのwinforms料金をテストしましたが、すべてのSSRSが正しく表示されています。 お知らせください。

+0

あなたは正しいですが、フォーマットは同じですが、問題は同じ日付が2011年4月11日で、同じものが2011年11月4日です。あなたは何か間違っているのを見ない?どのように同じ日に2つの異なる月があるか –

答えて

4

ここではいくつかのことが行われています。日付は適切に保存されていますが、フォーマットオプションのために正しく表示されません。この行は、非常に問題がある:

="Dated: " & Format(cdate(Fields!InvDate.Value), "dd-MMM-yyyy") 

CDate関数は、値が、一般的に文字列を取り、あなたが取って戻って文字列にフォーマットする日付に変換します。現在、デフォルトでレポートのLanguageプロパティがEnglish (United States)に設定されているため、CDate関数は日付04-Nov-2011の文字列表記を04/11/2011に変換しており、米国フォーマットのMM-dd-yyyy(パキスタンのものではない)を使用して変換しています。月が最初に来ると思いますので、11-Apr-2011となります。

レポートの言語設定を=User!Languageに変更して、ユーザーの言語が何であれサポートし、適切に書式設定する必要があります。これはあなたの表現の仕事をするのに十分かもしれません。

かかわらずFields!InvDate.Valueが日付フィールドとして供給されている場合(それがあるべきよう)、CDate関数の機能は必要ありません、これは動作するはずです:

="Dated: " & Format(Fields!InvDate.Value, "dd-MMM-yyyy") 

ありもFormatDateTime機能ですが、残念ながらそれを使用するフォーマットはサポートされていません。