Foxtable(狐表)用户栏目专家坐堂 → list中的模糊查询


  共有1882人关注过本帖树形打印复制链接

主题:list中的模糊查询

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
list中的模糊查询  发帖心情 Post By:2018/9/6 12:45:00 [只看该作者]

'' 关于离退休部门的验证
    If r("离退休部门") <> Nothing Then
           r("离退休部门") =r("离退休部门").Replace(" ","")    
           If cstr(r("离退休部门")).length > 30 Then
                 r.DataRow.SetError("离退休部门 ", "离退休部门长度不允许超过30")
                 r.DataRow("标记")=1
           Else
                  Dim dep As List(Of String)
                  dep = DataTables("depList").GetValues("depName"," organName = '" & _UserOrgan & "'")
                  If dep.Contains(r("离退休部门")) = False Then
                        r.DataRow.SetError("离退休部门", "请先录入该部门")
                        r.DataRow("标记")=1
                  End If
            End If         
     Else
            r.DataRow.SetError("离退休部门", "离退休部门不允许为空")
            r.DataRow("标记")=1
     End If

 

 

老师,上面红色代码是从表里提取出当前登录用户单位,在数据库里面录入的部门都有哪些?

 

然后导入人员的时候,如果部门没有录入 ,则不能导入,所以可以模糊匹配么?

 

比如 库里面是  :  办公室,那么   :  办公室(后勤服务中心)也可以录入


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/6 14:49:00 [只看该作者]

'' 关于离退休部门的验证

If r("离退休部门") <> Nothing Then
    r("离退休部门") =r("离退休部门").Replace(" ","")
    If cstr(r("离退休部门")).length > 30 Then
        r.DataRow.SetError("离退休部门 ", "离退休部门长度不允许超过30")
        r.DataRow("标记")=1
    Else
        Dim dep As DataRow = DataTables("depList").find("depName like '%" & r("离退休部门") & "%' and organName = '" & _UserOrgan & "'")
        If dep IsNot Nothing Then
            r.DataRow.SetError("离退休部门", "请先录入该部门")
            r.DataRow("标记")=1
        End If
    End If
Else
    r.DataRow.SetError("离退休部门", "离退休部门不允许为空")
    r.DataRow("标记")=1
End If


 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/6 17:59:00 [只看该作者]

以下是引用有点甜在2018/9/6 14:49:00的发言:

'' 关于离退休部门的验证

If r("离退休部门") <> Nothing Then
    r("离退休部门") =r("离退休部门").Replace(" ","")
    If cstr(r("离退休部门")).length > 30 Then
        r.DataRow.SetError("离退休部门 ", "离退休部门长度不允许超过30")
        r.DataRow("标记")=1
    Else
        Dim dep As DataRow = DataTables("depList").find("depName like '%" & r("离退休部门") & "%' and organName = '" & _UserOrgan & "'")
        If dep IsNot Nothing Then
            r.DataRow.SetError("离退休部门", "请先录入该部门")
            r.DataRow("标记")=1
        End If
    End If
Else
    r.DataRow.SetError("离退休部门", "离退休部门不允许为空")
    r.DataRow("标记")=1
End If

红色那里应该是is 把


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/6 18:01:00 [只看该作者]

以下是引用susu312在2018/9/6 17:59:00的发言:

红色那里应该是is 把

 

是的。


 回到顶部
美女呀,离线,留言给我吧!
susu312
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/6 19:01:00 [只看该作者]

以下是引用有点甜在2018/9/6 18:01:00的发言:

 

是的。

 Dim dep As DataRow = DataTables("depList").find("depName like '%" & r("离退休部门") & "%' and organName = '" & _UserOrgan & "'")
                  If dep Is Nothing Then
                        r.DataRow.SetError("离退休部门", "请先录入该部门")
                        r.DataRow("标记")=1
                  End If

老师,不知为啥,这个还是没法进行模糊匹配?科技处可以导入,但是 科技处2就无法导入?提示请录入部门

 

depName 应该比 r("离退休部门")精简, depName=办公室,但是r("离退休部门")=办公室(后勤服务中心)

[此贴子已经被作者于2018/9/6 19:05:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/6 20:03:00 [只看该作者]

'' 关于离退休部门的验证
If r("离退休部门") <> Nothing Then
    r("离退休部门") =r("离退休部门").Replace(" ","")
    If cstr(r("离退休部门")).length > 30 Then
        r.DataRow.SetError("离退休部门 ", "离退休部门长度不允许超过30")
        r.DataRow("标记")=1
    Else
        Dim dep As List(Of String)
        dep = DataTables("depList").GetValues("depName"," organName = '" & _UserOrgan & "'")
        Dim flag As Boolean = False
        For Each s As String In dep
            If r("离退休部门").contains(s) Then
                flag = True
                Exit For
            End If
        Next
        If flag = false Then
            r.DataRow.SetError("离退休部门", "请先录入该部门")
            r.DataRow("标记")=1
        End If
    End If
Else
    r.DataRow.SetError("离退休部门", "离退休部门不允许为空")
    r.DataRow("标记")=1
End If

 回到顶部