我想了解如何过滤数字,货币和日期列。我的货币示例代码是:
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'"
答案 0 :(得分: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