Foxtable(狐表)用户栏目专家坐堂 → [求助]代码错误,求指正


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

主题:[求助]代码错误,求指正

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]代码错误,求指正  发帖心情 Post By:2014/12/17 15:58:00 [只看该作者]


以下代码写在原料采购入库明细的DataColChanged事件
代码用意:
1、当表“原料采购入库明细”中录入“凭证号”(即原料采购入库通知单的通知单号),表“原料采购入库通知明细”的逻辑列“是否入库”打上TRUE,此功能已经实现
2、当表“原料采购入库明细”“凭证号”列发生变化后,检查表“原料采购入库通知明细”中的“通知单号”是否出现在“原料采购入库明细”中,如果不存在,将通知单的逻辑列“是否入库”打上False,说明还没入库。

现在出现一个问题,dr3 = DataTables("原料采购入库明细").Find("[凭证号] <> '" & dr2.("通知单号") & "'") 此条语句错误,不知错哪了,无法保存表事件

'凭证号录入后锁定对应的"原料采购入库通知明细"的"是否入库"列
If e.DataCol.Name = "凭证号" Then '如果内容发生变动的是凭证号列
    If e.NewValue Is Nothing Then '如果新值是空白
        e.DataRow("牌号") = Nothing '那么清空此行此列的内容
        e.DataRow("厚度") = Nothing '那么清空此行此列的内容
        e.DataRow("宽度") = Nothing '那么清空此行此列的内容
        e.DataRow("重量") = Nothing '那么清空此行此列的内容
        
    Else
        Dim dr1 As DataRow
        '在"原料采购入库通知明细"查找凭证号的行
        dr1 = DataTables("原料采购入库通知明细").Find("[通知单号] = '" & e.NewValue & "'")
        If dr1 IsNot Nothing Then '如果找到了,也就是dr不是Nothing
            dr1("是否入库")=True
        End If

        ‘以上代码执行正常,下面的开始出错

        For Each dr2 As DataRow In DataTables("原料采购入库通知明细").DataRows
            Dim dr3 As DataRow
            dr3 = DataTables("原料采购入库明细").Find("[凭证号] <> '" & dr2.("通知单号") & "'")
            
            If dr3 IsNot Nothing Then '如果找到了,也就是dr3不是Nothing
                dr2("是否入库")=False
            End If   
        Next
        
    End If
End If

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


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

dr3 = DataTables("原料采购入库明细").Find("[凭证号] <> '" & dr2("通知单号") & "'")


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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2014/12/17 16:09:00 [只看该作者]

第一次自己编这样复杂的代码,不像之前抄来的,想不到在这么一个细小的地方出错了,来回看了5次才发现多了一个点,代码还是写的不熟悉,功能已经实现了,谢谢。

 回到顶部