以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9236)

--  作者:caoxy
--  发布时间:2011/3/17 13:46:00
--  自动计算

If e.DataCol.Name = "驾驶员" Then \'发生变化的是产品编号吗?
    \'在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("参数").Find("驾驶员 = " & "\'" & e.DataRow("驾驶员") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("车号")= dr("车号")
        e.DataRow("车长")= dr("车长")
        e.DataRow("运输地点")= dr("运输地点")
        e.DataRow("运费")= dr("运费")
    End If
End If
参数表已设列:驾驶员、车号、车长、运输地点、运费

1、在窗口下拉单中选一名驾驶员,车号、车长能自动显示,输入运输地点后运费不能显,是不是代码有误,请老师指点,问题到底出在什么地方,并帮助纠错。

2、同一名驾驶员、车长、车号,运费要因送货地点的娈化而变化

谢谢

[此贴子已经被作者于2011-3-17 15:11:17编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/3/17 15:43:00
--  

输入运输地点,运费肯定不睡自动显示,因为你分本没有就没有设置对应的代码。

合理的代码是:

 

If e.DataCol.Name = "驾驶员" Then
    Dim dr As DataRow
    dr = DataTables("参数").Find("驾驶员 = " & "\'" & e.DataRow("驾驶员") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("车号")= dr("车号")
        e.DataRow("车长")= dr("车长")
    End If
ElseIf e.DataCol.Name = "运输地点" Then
    Dim dr As DataRow
    dr = DataTables("参数").Find("运输地点 = " & "\'" & e.DataRow("运输地点") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("运费")= dr("运费")
    End If
End If