Foxtable(狐表)用户栏目专家坐堂 → 跨表引用问题,请教各位老师


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

主题:跨表引用问题,请教各位老师

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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 9:54:00 [显示全部帖子]

哪个表,或者哪个窗口的什么事件?没看到有这段代码

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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 10:13:00 [显示全部帖子]

首先窗口名称是错的。其次凡是Find查询的结果都必须判断一下是否为空,比如查询没有结果

If Forms("职数空缺情况").Opened
    For Each dr As DataRow In DataTables("职数空缺").Select("工作单位_镇街 is not null and 工作单位_村居社区 is not null")
        Dim fdr As DataRow = DataTables("村干部基本信息").Find("工作单位_镇街 = '" & dr("工作单位_镇街") & "' and 工作单位_村居社区 = '" & dr("工作单位_村居社区") & "'")
        If fdr IsNot Nothing
            If fdr("职务排序") = "01" Then
                dr("书记") = fdr("姓名")
            Else
……

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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 10:31:00 [显示全部帖子]

1、find只返回一条数据,其它当然没用了,改为select进行遍历

2、不要保存数据,然后使用:RejectChanges:http://www.foxtable.com/webhelp/topics/1538.htm,或者遍历这个窗口表,把数据清空
For Each r As Row In Tables("职数空缺").Rows
   
r("主任") = nothing
Next

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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 11:11:00 [显示全部帖子]

7楼的错误请认真看一看select的帮助和用法,而不仅仅是把find改为select。


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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 11:47:00 [显示全部帖子]

为什么上面就知道遍历select的结果:For Each dr As DataRow In DataTables("职数空缺").Select

下面就不会使用了呢

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


加好友 发短信
等级:超级版主 帖子:106808 积分:543241 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 15:05:00 [显示全部帖子]

For Each dr As DataRow In DataTables("职数空缺").Select("工作单位_镇街 is not null and 工作单位_村居社区 is not null")
    Dim fdr As List(of DataRow) = DataTables("村干部基本信息").Select("工作单位_镇街 = '" & dr("工作单位_镇街") & "' and 工作单位_村居社区 = '" & dr("工作单位_村居社区") & "'")
    For Each n As DataRow In fdr
        If n("职务排序") = "01" Then
            dr("书记") = n("姓名")
        ElseIf n("职务排序") = "02" Then
            dr("主任") = n("姓名")
        ElseIf n("职务排序") = "03" Then
            dr("会计") = n("姓名")
        End If
    Next
Next
DataTables("职数空缺").ReplaceFor("书记","空缺","书记 is null")
DataTables("职数空缺").ReplaceFor("主任","空缺","主任 is null")
DataTables("职数空缺").ReplaceFor("会计","空缺","会计 is null")

 回到顶部