Foxtable(狐表)用户栏目专家坐堂 → 代码


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

主题:代码

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


加好友 发短信
等级:四尾狐 帖子:805 积分:5564 威望:0 精华:0 注册:2017/12/19 14:46:00
代码  发帖心情 Post By:2019/4/30 16:13:00 [只看该作者]

请老师帮忙看看,下面的代码,红色部分实现不了,是什么原因?
Select Case e.DataCol.name
    Case "领料情况_分机组"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "原材料"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = "Kg"
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "辅材"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("领料数量") = e.DataRow("到货数量") / 2
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "项目消耗品" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "项目消耗品"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("领料数量") = e.DataRow("到货数量") / 2
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "焊材" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "焊材"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("领料数量") = e.DataRow("到货数量") / 2
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "外购件" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "外购件"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("领料数量") = e.DataRow("到货数量") / 2
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "电气" Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = "电气"
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("领料数量") = e.DataRow("到货数量") / 2
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                Dim ndr1 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr1 Is Nothing Then
                    For i As Integer = 1 To 2
                        Dim ndr As Row = Tables("领料清单").AddNew
                        ndr("序号") = e.DataRow("序号")
                        ndr("编号") = e.DataRow("编号")
                        ndr("预算编号") = e.DataRow("预算编号")
                        ndr("物资说明") = "紧固件"
                        ndr("物资名称") = "紧固件"
                        ndr("规格") = "/"
                        ndr("材质") = "/"
                        ndr("单位") = e.DataRow("单位")
                        ndr("单位") = "批"
                        ndr("领料数量") = "0.5"
                        ndr("领料日期") = Date.today
                        ndr.Move(0)
                    Next
                End If
                If e.DataRow("物资说明") = "核电-紧固件" Then
                    Dim ndr2 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                    If ndr2 Is Nothing Then
                        For i As Integer = 1 To 2
                            Dim ndr As Row = Tables("领料清单").AddNew
                            ndr("序号") = e.DataRow("序号")
                            ndr("编号") = e.DataRow("编号")
                            ndr("预算编号") = e.DataRow("预算编号")
                            ndr("物资说明") = "核电-紧固件"
                            ndr("物资名称") = "核电-紧固件"
                            ndr("规格") = "/"
                            ndr("材质") = "/"
                            ndr("单位") = e.DataRow("单位")
                            ndr("单位") = "批"
                            ndr("领料数量") = "0.5"
                            ndr("领料日期") = Date.today
                            ndr.Move(0)
                        Next
                    End If
                End If
            End If
        End If
    Case "领料情况_不分机组"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "原材料"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = "Kg"
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "辅材" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "辅材"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "项目消耗品" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "项目消耗品"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "外购件"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "电气"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "焊材"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "消耗品" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "消耗品"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "劳保用品" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "劳保用品"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "办公用品" Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "办公用品"
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("领料数量") = e.DataRow("到货数量")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                Dim ndr As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr Is Nothing Then
                    Dim nr As Row = Tables("领料清单").AddNew
                    nr.Move(0)
                    ndr = nr.DataRow
                End If
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "紧固件"
                ndr("物资名称") = "紧固件"
                ndr("规格") = "/"
                ndr("材质") = "/"
                ndr("单位") = "批"
                ndr("领料数量") = "1"
                ndr("领料日期") = Date.today
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                Dim ndr As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr Is Nothing Then
                    Dim nr As Row = Tables("领料清单").AddNew
                    nr.Move(0)
                    ndr = nr.DataRow
                End If
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = "核电-紧固件"
                ndr("物资名称") = "核电-紧固件"
                ndr("规格") = "/"
                ndr("材质") = "/"
                ndr("单位") = "批"
                ndr("领料数量") = "1"
                ndr("领料日期") = Date.today
            End If
        End If
    Case "领料情况_预领余额"
        If e.newvalue = False Then
            DataTables("领料清单").DeleteFor("编号='余额" & e.DataRow("编号") & "'")
        Else
            If e.DataRow("领料情况_分机组") = True Then
                For i As Integer = 1 To 2
                    Dim ndr As Row = Tables("领料清单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") ="余额" & e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("送货单位") = e.DataRow("中标情况_中标单位")
                    ndr("领料日期") = Date.today
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("领料情况_不分机组") = True Then
                Dim ndr As Row = Tables("领料清单").AddNew
                ndr("序号") = e.DataRow("序号")
                ndr("编号") ="余额" & e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("送货单位") = e.DataRow("中标情况_中标单位")
                ndr("领料日期") = Date.today
                ndr.Move(0)
            End If
        End If
End Select


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


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

1、加入msgbox,看是否执行到你的红色代码。如果没有执行到,再加入msgbox,看执行到哪里去了。

 

2、如果不会做,请做一个实例发上来测试。


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


加好友 发短信
等级:四尾狐 帖子:805 积分:5564 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/4/30 16:31:00 [只看该作者]

没有执行


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


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

以下是引用13775189031在2019/4/30 16:31:00的发言:
没有执行

 

那你加入msgbox,看执行到哪里去了,哪里的代码有问题。


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


加好友 发短信
等级:四尾狐 帖子:805 积分:5564 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/4/30 16:34:00 [只看该作者]

 红色字体上面的这一段没问题
If e.DataRow("物资说明") = "紧固件" Then
                Dim ndr1 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr1 Is Nothing Then
                    For i As Integer = 1 To 2
                        Dim ndr As Row = Tables("领料清单").AddNew
                        ndr("序号") = e.DataRow("序号")
                        ndr("编号") = e.DataRow("编号")
                        ndr("预算编号") = e.DataRow("预算编号")
                        ndr("物资说明") = "紧固件"
                        ndr("物资名称") = "紧固件"
                        ndr("规格") = "/"
                        ndr("材质") = "/"
                        ndr("单位") = e.DataRow("单位")
                        ndr("单位") = "批"
                        ndr("领料数量") = "0.5"
                        ndr("领料日期") = Date.today
                        ndr.Move(0)
                    Next
                End If

红色的这段代码是不是我这两句有问题,是不是ndr2这个变量写的不对!
Dim ndr2 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                    If ndr2 Is Nothing Then


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


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

修改代码

 

If e.DataRow("物资说明") = "紧固件" Then

                Dim ndr1 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr1 Is Nothing Then
                    
                End If

End If

 

If e.DataRow("物资说明") = "核电-紧固件" Then

 

End If


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


加好友 发短信
等级:四尾狐 帖子:805 积分:5564 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/4/30 17:11:00 [只看该作者]

没明白?

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


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

改成这样啊,并列啊

 

If e.DataRow("物资说明") = "紧固件" Then

                Dim ndr1 As DataRow = DataTables("领料清单").Find("预算编号 = '" & e.DataRow("预算编号") & "'")
                If ndr1 Is Nothing Then
                    
                End If

End If

 

If e.DataRow("物资说明") = "核电-紧固件" Then

 

End If


 回到顶部