我想学习如何过滤数字,货币和日期列。我的货币示例代码是:
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'"发布于 2013-10-18 06:09:02
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.Texthttps://stackoverflow.com/questions/19421457
复制相似问题