以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  find查找不到指定的行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176622)

--  作者:zpsun2003
--  发布时间:2022/4/20 17:33:00
--  find查找不到指定的行
以下代码正常,能找到对应的行

Dim dr As DataRow = DataTables("tb2_模型状态").Find("参数名称 = \'8TY.600.0002.11 铁芯片.sldprt\' And 零部件序号 = 9 And 序号 > 2")

把上面的数字2用变量替代
Dim xh As Integer = 2
Dim dr As DataRow = DataTables("tb2_模型状态").Find("参数名称 = \'8TY.600.0002.11 铁芯片.sldprt\' And 零部件序号 = 9 And 序号 > \'"& xh &"\'")
再指定代码,就找不到对应的行了,是哪个地方写错了吗?

--  作者:有点蓝
--  发布时间:2022/4/20 17:35:00
--  
试试

Dim xh As Integer = 2
Dim dr As DataRow = DataTables("tb2_模型状态").Find("参数名称 = \'8TY.600.0002.11 铁芯片.sldprt\' And 零部件序号 = 9 And 序号 > " & xh)

--  作者:zpsun2003
--  发布时间:2022/4/20 17:58:00
--  
可以了,谢谢。不过请问下老师,我的写法错哪了?是因为用>号的问题吧,如果有两个>号,放在前面应该怎么写?


--  作者:有点蓝
--  发布时间:2022/4/21 8:47:00
--  
http://www.foxtable.com/webhelp/topics/1284.htm

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = \'PD01\'"  \'字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  \'日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  \'数值直接使用