0

数値、通貨、日付の列をフィルタリングする方法を知りたいです。私の通貨のサンプルコードは次のとおりです。

Private Sub HavaleSrcBtn_MouseDown(sender As Object, e As MouseEventArgs) Handles HavaleSrcBtn.MouseDown

    Me.MakbuzTBindingSource.Filter = "havaleTutari LIKE '%" & HavaleSrcTb.Text & "%'"

End Sub

このコードは、プログラムをクラッシュさせます: System.Decimal および System.String に対して「Like」操作を実行できません。全体の詳細はこちら: http://sudrap.org/paste/text/256246/

Visual Basic 2012 を使用しています。これらの種類のデータをフィルター処理するにはどうすればよいですか?

編集:

Me.MakbuzTBindingSource.Filter = "havaleTutari = '" & CStr(HavaleSrcTb.Text) & "'"

これは問題なく動作しますが、ワイルドカードは使用できません:

Me.MakbuzTBindingSource.Filter = "havaleTutari = 'ANY " & CStr(HavaleSrcTb.Text) & " ANY'"
4

1 に答える 1

1

LIKE文字列(テキスト)データ専用です。LIKE明らかに、別の数を持つことはできません。(数字は何でしょうLIKE 1? 1.1? 10?)

数値、通貨、および日付の列には、、、、、、またはを使用>します。>==<=<BETWEEN Value1 AND Value2

(ドキュメントを読んでみると、これはかなり明確に述べられていVisual Studioます。プログラミング言語ではないことに注意することも重要です。質問が に関するものVB.NETである場合は、タグを使用してくださいVB.NET。MS-Access データベースに固有のものである場合は、ms-accessタグを使用してください。 .)

あなたも必要ないと思いますCStr。単純な文字列連結は問題なく機能するはずです。

Me.HavaleScrTb.Text = '100'
Me.MakbuzTBindingSource.Filter = "havaleTutari = " & HavaleSrcTb.Text
于 2013-10-17T22:09:02.163 に答える