Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表引用及附加本表条件


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

主题:[求助]跨表引用及附加本表条件

帅哥,在线噢!
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1386 积分:10683 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]跨表引用及附加本表条件  发帖心情 Post By:2019/12/18 14:32:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "部门名称"
        If e.DataRow.IsNull("部门名称") Then
            e.DataRow("部门编码") = Nothing
        Else 
        Dim dr As DataRow
        dr = DataTables("责任中心档案").Find("[部门名称] = '" & e.NewValue & "'")
        If dr IsNot Nothing And e.DataRow("科目编码") Like "6%" Then
            e.DataRow("部门编码") = dr("部门编号") 
        End If
        End If
End Select

上述标颜色部分要怎么写,上面的代码没起作用

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/18 14:42:00 [只看该作者]

请使用文字说明一下要实现什么逻辑?

 回到顶部
帅哥,在线噢!
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1386 积分:10683 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/12/18 14:53:00 [只看该作者]

当在A表部门名称列录入部门的时候,到“责任中心档案”寻找对应的部门编号,如果找到了并且A表的科目编码如果是6开头的,就把编号引用到A表的“部门编码”列里

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/18 14:58:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "部门名称"
        If e.DataRow.IsNull("部门名称") orelse e.DataRow("科目编码") Like "6*" Then
            e.DataRow("部门编码") = Nothing
        Else 
        Dim dr As DataRow
        dr = DataTables("责任中心档案").Find("[部门名称] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("部门编码") = dr("部门编号") 
        End If
        End If
End Select

 回到顶部
帅哥,在线噢!
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1386 积分:10683 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/12/18 15:42:00 [只看该作者]

应该用Not Like "6*" 但提示错误“应为语句结束”

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/18 15:45:00 [只看该作者]

If e.DataRow.IsNull("部门名称") orelse not e.DataRow("科目编码") Like "6*" Then

或者

Select Case e.DataCol.Name 
    Case "部门名称"
        If e.DataRow.IsNull("部门名称") Then
            e.DataRow("部门编码") = Nothing
        Else if e.DataRow("科目编码") Like "6*" then
        Dim dr As DataRow
        dr = DataTables("责任中心档案").Find("[部门名称] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("部门编码") = dr("部门编号") 
        End If
        End If
End Select

 回到顶部