以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表比较问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81814)

--  作者:老杨
--  发布时间:2016/3/7 0:42:00
--  跨表比较问题
老师,帮看一下这个代码有什么问题,代码放在 datacolchanging中



Select Case e.DataCol.name
   Case "数量"
     Dim dxs As DataRow = e.DataRow
     Dim dis As DataRow
       dis = DataTables("库存明细").Find("采购编号 = \'" & dxs("采购编号") & "\' and 产品名称 = \'" & dxs("产品名称") & "\'")
      If dis("库存数量")<dxs("数量") Then
     MessageBox.Show("该价格的产品库存不足,")
    e.cancel = True
   End If
End Select

--  作者:Hyphen
--  发布时间:2016/3/7 8:29:00
--  
Select Case e.DataCol.name
    Case "数量"
        Dim dxs As DataRow = e.DataRow
        Dim dis As DataRow
        dis = DataTables("库存明细").Find("采购编号 = \'" & dxs("采购编号") & "\' and 产品名称 = \'" & dxs("产品名称") & "\'")
        If dis IsNot Nothing Then
            If dis("库存数量")<dxs("数量") Then
                MessageBox.Show("该价格的产品库存不足,")
                e.cancel = True
            End If
        End If
End Select

--  作者:大红袍
--  发布时间:2016/3/7 9:12:00
--  

DataColChanging事件必须用e.NewValue

 

Select Case e.DataCol.name
    Case "数量"
        Dim dxs As DataRow = e.DataRow
        Dim dis As DataRow
        dis = DataTables("库存明细").Find("采购编号 = \'" & dxs("采购编号") & "\' and 产品名称 = \'" & dxs("产品名称") & "\'")
        If dis IsNot Nothing Then
            If dis("库存数量")<e.NewValue Then
                MessageBox.Show("该价格的产品库存不足,")
                e.cancel = True
            End If
        Else
            msgbox("没找到对应的编号")
        End If
End Select