Foxtable(狐表)用户栏目专家坐堂 → 为什么代码不起作用


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

主题:为什么代码不起作用

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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
为什么代码不起作用  发帖心情 Post By:2015/6/15 10:25:00 [只看该作者]

'出库量大于库存量禁止出库,不能小于零
'-------------------------------------------------------------------------------------------
Select Case e.DataCol.name
    Case "物料代码"
        If e.newvalue Is Nothing Then '如果新值是空白,也就是物料代码列的内容为空
            ' msgbox("物料代码为空")
            e.DataRow("出库数量") = Nothing '那么清空此行出库数量列的内容
        Else
            Dim dg As DataRow = DataTables("库存材料表").Find("[物料代码] = '" & e.NewValue & "'","_Identify Desc")'获得最后一行
            If dg Is Nothing Then '如果找到了同名的物料代码行,也就是dr不是Nothing
                'msgbox("在库存没找到物料")
                'e.Cancel = True
                e.NewValue = Nothing
                If dg IsNot Nothing Then
                    If e.DataRow("出库数量") <= 0 Then
                        e.DataRow("出库数量") = Nothing
                    End If
                    If  e.DataRow("出库数量") >= dg("库存数量") Then
                        'MsgBox("出库量不能大于库存量!")
                        e.DataRow("出库数量") = dg("库存数量")
                    End If
                End If
            End If
        End If
End Select


代码写在“DataColChanging”事件中,但是不起作用


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/15 10:43:00 [只看该作者]

Select Case e.DataCol.name
    Case "物料代码"
        If e.newvalue Is Nothing Then '如果新值是空白,也就是物料代码列的内容为空
            ' msgbox("物料代码为空")
            e.DataRow("出库数量") = Nothing '那么清空此行出库数量列的内容
        Else
            Dim dg As DataRow = DataTables("库存材料表").Find("[物料代码] = '" & e.NewValue & "'","_Identify Desc")'获得最后一行
            If dg Is Nothing Then '如果找到了同名的物料代码行,也就是dr不是Nothing
                'msgbox("在库存没找到物料")
                'e.Cancel = True
                e.NewValue = Nothing
            Else
               
                If e.DataRow("出库数量") <= 0 Then
                    e.DataRow("出库数量") = Nothing
                ElseIf  e.DataRow("出库数量") >= dg("库存数量") Then
                    'MsgBox("出库量不能大于库存量!")
                    e.DataRow("出库数量") = dg("库存数量")
                End If
            End If
        End If
    Case "出库数量"
        Dim dg As DataRow = DataTables("库存材料表").Find("[物料代码] = '" & e.DataRow("物料代码") & "'","_Identify Desc")'获得最后一行
        If dg Is Nothing Then '如果找到了同名的物料代码行,也就是dr不是Nothing
            'msgbox("在库存没找到物料")
            'e.Cancel = True
            e.NewValue = Nothing
        Else
           
            If e.newvalue <= 0 Then
                e.newValue = Nothing
            ElseIf  e.newvalue >= dg("库存数量") Then
                'MsgBox("出库量不能大于库存量!")
                e.newvalue = dg("库存数量")
            End If
        End If
       
End Select


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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
  发帖心情 Post By:2015/6/15 10:54:00 [只看该作者]

谢谢!!!


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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
  发帖心情 Post By:2015/6/15 11:30:00 [只看该作者]

 Case "记账"
        Dim Sun As Integer
        Sun =  DataTables("材料发放明细表").Compute("Sum(出库数量)", "[物料代码] = '" & Vars("物料代码") & "'")
        If "记账" = False Then
            If sun >= dg("库存数量") Then
                
                'ElseIf  e.newvalue  >= dg("库存数量") Then
                MsgBox("出库量不能大于库存量!")
                e.newvalue = dg("库存数量")
            End If
        End If
End Selec

麻烦帮我改一下代码,谢谢!!!

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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
  发帖心情 Post By:2015/6/15 11:49:00 [只看该作者]

新的出库数量与未记账的出库数量之和不能大于库存量,该如写代码

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/15 11:51:00 [只看该作者]

Case "记账"
        Dim Sun As Integer
        Sun =  DataTables("材料发放明细表").Compute("Sum(出库数量)", "[物料代码] = '" & e.DataRow("物料代码") & "'")
        If e.DataRow"记账") = False Then
            If sun >= dg("库存数量") Then
                MsgBox("出库量不能大于库存量!")
                e.DataRow("库存数量") = dg("库存数量")
            End If
        End If
End Selec

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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
  发帖心情 Post By:2015/6/15 15:09:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150615151003.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:139 积分:1110 威望:0 精华:0 注册:2013/10/9 11:32:00
  发帖心情 Post By:2015/6/15 15:10:00 [只看该作者]

提示错误


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/15 15:11:00 [只看该作者]

 

[此贴子已经被作者于2015/6/15 15:11:08编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/15 15:13:00 [只看该作者]

Case "记账"
        Dim Sun As Integer
        Sun =  DataTables("材料发放明细表").Compute("Sum(出库数量)", "[物料代码] = '" & e.DataRow("物料代码") & "'")
        If e.DataRow("记账") = False Then
            If sun >= e.DataRow("库存数量") Then
                MsgBox("出库量不能大于库存量!")
                e.Cancel = True
            End If
        End If
End Selec

 回到顶部
总数 24 1 2 3 下一页