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 回答