Foxtable(狐表)用户栏目专家坐堂 → 提取数据有空白就不能提取


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

主题:提取数据有空白就不能提取

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


加好友 发短信
等级:幼狐 帖子:188 积分:1699 威望:0 精华:0 注册:2018/2/26 13:15:00
提取数据有空白就不能提取  发帖心情 Post By:2020/9/25 11:45:00 [只看该作者]

老师,您好,我有两个表,一个生产入库表,一个工单表
图片点击可在新窗口打开查看此主题相关图片如下:生产入库单.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:工单.png
图片点击可在新窗口打开查看,我想在生产入库单中“余料检查”录入检查两字,当6行全部填满时,在工单是能显示“检查”两字在工单的“余料检查”中的,但当生产入库单的“余料检查”有一行是空的,就不能显示,我想生产入库单中“余料检查”中只要任意一行录入检查两字,在工单就能显示出来,您看能帮我改一下这个代码吗?
If e.DataCol.Name = "工单单号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("余料检查") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("生产入库单").Find("[来源单号] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("余料检查") = dr("余料检查")
        End If
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/25 11:52:00 [只看该作者]

If e.DataCol.Name = "工单单号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("余料检查") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("生产入库单").Find("[来源单号] = '" & e.NewValue & "' and 余料检查 is null")
        If dr IsNot Nothing 
           e.DataRow("余料检查") = Nothing
else
            e.DataRow("余料检查") = "检查"
        End If
    End If
End If


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


加好友 发短信
等级:幼狐 帖子:188 积分:1699 威望:0 精华:0 注册:2018/2/26 13:15:00
测试后,显示的提取的数据不对。  发帖心情 Post By:2020/9/25 12:22:00 [只看该作者]

老师,您好,刚测试了,这个代码显示的数据不对,他显示在工单“余料检查”中的数据是,生产入库单中没有这些来源单号的工单,显示了“检查”两字。就是没有生产入库的工单就显示了“检查”两字

[此贴子已经被作者于2020/9/25 12:22:50编辑过]

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


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/25 13:36:00 [只看该作者]

If e.DataCol.Name = "工单单号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("余料检查") = Nothing
    Else
        for eac dr as datarow in DataTables("生产入库单").Find("[来源单号] = '" & e.NewValue & "'","余料检查 desc")
        If dr.isnull("余料检查")
           e.DataRow("余料检查") = Nothing
return
        End If
next
e.DataRow("余料检查") = "检查"
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:188 积分:1699 威望:0 精华:0 注册:2018/2/26 13:15:00
出现错误信息  发帖心情 Post By:2020/9/25 14:19:00 [只看该作者]

老师,您好,我按你的代码改后,保存不了,现了了这个错误信息
图片点击可在新窗口打开查看此主题相关图片如下:1601014560(1).png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/25 14:28:00 [只看该作者]

手误:for each dr as datarow

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


加好友 发短信
等级:幼狐 帖子:188 积分:1699 威望:0 精华:0 注册:2018/2/26 13:15:00
还是有错误信息  发帖心情 Post By:2020/9/25 15:36:00 [只看该作者]

老师,改后还是有错误信息,帮我看一下?
图片点击可在新窗口打开查看此主题相关图片如下:1601019316(1).png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/25 15:58:00 [只看该作者]

for each dr as datarow in DataTables("生产入库单").select("[来源单号] = '" & e.NewValue & "'","余料检查 desc")

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


加好友 发短信
等级:幼狐 帖子:188 积分:1699 威望:0 精华:0 注册:2018/2/26 13:15:00
代码显示的还是不对  发帖心情 Post By:2020/9/25 16:45:00 [只看该作者]

老师,代码显示的还是不对,我想做的是,无论生产入库单的“余料检查”项中的检查两字,是在中间行,在第一行,或在最后行,只要生产入库单中对应的工单号有检查两字,工单表中对应的工单就能显示“检查“两字。刚我测试了代码,有两个问题,1.他是只有第一行中有”检查“两字,工单中才会显示出来。2.生产入库单中没有的工单号,他也显示出来”检查“两个字。

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


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/25 16:56:00 [只看该作者]

理解错了,我以为要全部都检查才行

If e.DataCol.Name = "工单单号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("余料检查") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("生产入库单").Find("[来源单号] = '" & e.NewValue & "' and 余料检查 is not null")
        If dr IsNot Nothing 
           e.DataRow("余料检查") = "检查"
else
            e.DataRow("余料检查") = Nothing
        End If
    End If
End If

 回到顶部
总数 11 1 2 下一页