以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助~关于更新单价的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21936)

--  作者:dingjuan
--  发布时间:2012/7/27 19:48:00
--  求助~关于更新单价的问题

If e.DataCol.Name = "产品名称" Then \'如果内容发生变动的是产品列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是产品列的内容为空
        e.
DataRow("单价") = Nothing \'那么清空此行单价列的内容
   
Else
        Dim
dr As DataRow
       
\'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr =
DataTables("产品").Find("[产品名称] = \'" & e.NewValue & "\'")
        If
dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.
DataRow("单价") = dr("单价")
        End
If
    End
If
End
If

 

需要再加1个判断,希望不仅是判断产品列是否是新值还要同时满足‘数量’列,也不是空值的情况下,才能赋予新单价

就是同时‘产品’和‘数量’列都有值时,才自动赋予新单价


--  作者:狐狸爸爸
--  发布时间:2012/7/28 9:33:00
--  
If e.DataCol.Name = "产品名称" OrElse e.DataCol.Name = "数量" Then \'如果内容发生变动的是产品列
    If e.DataRow.IsNull("产品名称") OrElse e.DataRow.IsNull("数量") Then \'如果新值是空白,也就是产品列的内容为空
        e.DataRow("单价") = Nothing \'那么清空此行单价列的内容
    Else
        Dim dr As DataRow
        \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("产品").Find("[产品名称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("单价") = dr("单价")
        End If
    End If
End If

--  作者:dingjuan
--  发布时间:2012/7/28 19:17:00
--  感谢狐爸,还有软件总出现这个问题
点击关闭目录树会出现下面的提示框
unhandled exception has occurred in your application.in you click continue,the applition will ignore this error and attempt to continue等等

--  作者:狐狸爸爸
--  发布时间:2012/7/30 8:41:00
--  
升级你的foxtable,如果还有问题,将文件发上来。