以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  语句错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143371)

--  作者:蓝蚂蚁
--  发布时间:2019/11/22 10:35:00
--  语句错误
Dim s As String
Dim drs As List(Of DataRow) =e.form.controls("Table1").Table.DataTable.Select("")
For Each dr As DataRow In drs
    s=""
    Dim dcs As List(Of DataRow) = DataTables("入库单").Select("对来货单号=False and 试剂=False and format(采购金额,"0.00")=Format(dr("采购金额"),"0.00")")
.........
这条语句为什么会提示:编译错误:应为逗号、“)”或有效的表达式继续符。
正确的应该如何写?谢谢啦!

--  作者:狐狸爸爸
--  发布时间:2019/11/22 10:55:00
--  
format属于代码,不能再select语句中使用。


Dim s As String
Dim drs As List(Of DataRow) =e.form.controls("Table1").Table.DataTable.Select("")
For Each dr As DataRow In drs
    s=""
    Dim val = math.Round(dr("采购金额"),2)
    Dim dcs As List(Of DataRow) = DataTables("入库单").Select("对来货单号 = False and 试剂 = False and round(采购金额,2)=" & val)

--  作者:蓝蚂蚁
--  发布时间:2019/11/22 11:15:00
--  
替换之后,提示错误:表达式包含未定义的函数调用 round()。
--  作者:狐狸爸爸
--  发布时间:2019/11/22 11:45:00
--  
 Dim val  As Double =  Cint(dr("采购金额") * 100)  / 100
Dim dcs As List(Of DataRow) = DataTables("入库单").Select("对来货单号 = False and 试剂 = False and   Convert(采购金额 * 100, \'System.Int64\') / 100 =" & val)