以文本方式查看主题

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

--  作者:fntfgz
--  发布时间:2018/10/5 11:00:00
--  求个表达式
老师,我是循环遍历一个表,并此把数值赋给变量yxmc,然后在从别一个表中找个变量的行,来更新,但是对应值有时并不是太一致,如果找不到一一完全对应的话,我找他的子串,也就yxmc包含的,或者是父串,被包含的,并且做出标记
一一对应的我会写
Dim yx As DataTable =DataTables("教育部院校")
Dim aa As List(Of DataRow)
Dim bb As List(Of DataRow)
For Each dr As Row In Tables("省考院院校").Rows
    Dim yxmc As String=StrToNarrow(dr("院校名称").trim())
    aa = yx.Select("学校名称=\'" & yxmc & "\'")
    If aa.count=1 Then
        aa(0)("备注")="完全匹配"
    end if
next
请问子串和父串怎么写?子串用like可以吗?
aa = yx.Select("学校名称 like \'" & yxmc & "\'")

父串呢?字符串有Contains函数,但不知怎么在select中用

图片点击可在新窗口打开查看此主题相关图片如下:360截图1617111796136116.png
图片点击可在新窗口打开查看




还有一个问题,如果一个单元格是空的话用isnull判断,如果不空的话怎么写

--  作者:有点甜
--  发布时间:2018/10/5 11:08:00
--  
Dim yx As DataTable =DataTables("教育部院校")
For Each dr As Row In Tables("省考院院校").Rows
    Dim yxmc As String=StrToNarrow(dr("院校名称").trim())
    If yxmc <> Nothing Then
        Dim fdr As DataRow = yx.find("学校名称=\'" & yxmc & "\'")
        If fdr IsNot Nothing Then
            dr("备注")="完全匹配"
        Else
            fdr = yx.find("学校名称 like \'%" & yxmc & "%\'")
            If fdr IsNot Nothing Then
                dr("备注")="子串"
            Else
                For Each r As DataRow In yx.Select("")
                    If yxmc.contains(r("学校名称")) Then
                        dr("备注") = "父串"
                        Exit For
                    End If
                Next
            End If
        End If
    End If
Next

--  作者:fntfgz
--  发布时间:2018/10/5 11:20:00
--  
老师,like 中%号代表什么意思,我看like的帮助文档里是有“?”和“*”,请问为什么不用*号
--  作者:有点甜
--  发布时间:2018/10/5 11:21:00
--  
以下是引用fntfgz在2018/10/5 11:20:00的发言:
老师,like 中%号代表什么意思,我看like的帮助文档里是有“?”和“*”,请问为什么不用*号

 

%等同于*的意思,你也可以用*来代替。


--  作者:fntfgz
--  发布时间:2018/10/5 15:35:00
--  
老师,isnot 、  is not 、 <> 、 这三个后面都可以接nothing 吧,有啥区别呢,有点蒙啊
--  作者:有点甜
--  发布时间:2018/10/5 16:02:00
--  

is nothing 或者 isnot nothing,是对象的比较(除了基础类型 string、Integer、Double、date等)。

 

= nothing 或者 <> nothing,是基础类型的比较(string,integer、double等)。


--  作者:fntfgz
--  发布时间:2018/10/5 16:51:00
--  
谢谢老师