以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求表达式IN的用法  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=43742)

--  作者:xvkewen
--  发布时间:2013/12/13 23:46:00
--  求表达式IN的用法
对帮助里表达式in的用法还是不太了解,求指导;

例如:怎么比较单值字段与多值字段呢?
如下图:我第二列里有“GD1”,而第一列里有“gd1,gd2,gd3……”,怎么判断第一列里包含第二列的数据更方便呢?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131213233837.jpg
图片点击可在新窗口打开查看

我的代码如下:

Dim s As String
s = CurrentTable.Rows(0)("第一列")
output.Show(s)
If CurrentTable.Rows(0)("第二列") In s Then 
output.Show("存在")
Else
output.Show("存在")
End If 

但出现以下错误提示,怎么办?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131213234555.jpg
图片点击可在新窗口打开查看


--  作者:程兴刚
--  发布时间:2013/12/14 1:06:00
--  

if s like "\'*" & CurrentTable.Rows(0)("第二列") & "*\'" = true

……


--  作者:Bin
--  发布时间:2013/12/14 8:48:00
--  
老程这样的方式似乎不太严谨,如果有相似的值,容易误判.
Dim ss As String = "123,2345"
For Each s As String In ss.split(",")
   If s="123" Then
       MessageBox.show(1)
      Exit For
   End If
Next
[此贴子已经被作者于2013-12-14 9:10:29编辑过]

--  作者:程兴刚
--  发布时间:2013/12/14 11:53:00
--  
Dim s As String
s = "," & CurrentTable.Rows(0)("第一列") & ","
output.Show(s)

if s like "\'*," & CurrentTable.Rows(0)("第二列") & ",*\'" = true

    output.Show("存在")
Else
    output.Show("存在")
End If 

--  作者:xvkewen
--  发布时间:2013/12/14 13:59:00
--  
能用http://www.foxtable.com/help/topics/1647.htm这个第十一个案例的方法吗?
--  作者:Bin
--  发布时间:2013/12/14 14:00:00
--  
不可以,这些事表达式,不是代码.不能混为一谈哦.