2011-12-19 442 views
0

DataView RowFilterを使用してデータビューをフィルタリングしようとしています。私は1つの列にチェックし、2つの日付値に基づいてデータをフィルタリングしたい:私はエラーSyntax error: Missing operand after '00' operator.を取得しています'00'演算子の後にオペランドがありません

Dim dtFuture As Date = DateAdd(DateInterval.Month, 6, Today) 
dv.RowFilter = "ValidUntil >" & dtFuture.ToString & "AND ValidUntil > " & Today.ToString 

。私が正しいことをしているかどうかは分かりません。

+0

、エラーは何ですか? – Simon

+0

構文エラー: '00'演算子の後にオペランドがありません。 – Joshua

答えて

5

私はあなたが一重引用符でdtFuture値をラップする必要があると思う:

Dim dtFuture As Date = DateAdd(DateInterval.Month, 6, Today) 
dv.RowFilter = "ValidUntil >'" & dtFuture.ToString() & "' AND ValidUntil > '" & Today.ToString() & "'" 

ToStringメソッドは、ブラケットをも持つべきである、とあなたは、ANDの前にスペースが必要です。

+0

これは私にとっては良いようですが、文化不変のDateTime形式を使用すると、下の私の答えを参照してください... – eFloh

+0

@eFloh - はいあなたの権利。 –

+1

eFlohは別の投稿で言及しているので、実際には引数を持たないメソッドのかっこを除外できます。ですから、あなたは.ToString()を持つ必要はありません。 .ToStringは有効です。 –

1

バットをオフにするには、ToStringメソッドにかっこを入れる必要があります。 dtFuture.ToString()

これは役に立ちます。

+4

関数への引数がないときに、VB.NETでparanthesesを残すことはできませんか?かなり覚えていない... – eFloh

0

SQL日として代わりの文化依存ToStringメソッド(使用 "#YYYY/MM/DD#" 形式)を使用してdtFutureをフォーマットしてみ

関連する問題