以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  不能显示单价  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=22144)

--  作者:wilson
--  发布时间:2012/8/3 23:45:00
--  不能显示单价
我用以下代码引用单价。如何实现只要在订单表输入 产品编号 就直接显示单价。谢谢
If e.DataCol.Name = "单价" Then
    Dim acmd As New SQLCommand
    Dim adt As DataTable
    Dim adr As DataRow = e.DataRow
    acmd.CommandText = "SELECT 成本价 From {产品表} Where [产品编号] = \'" & adr("产品编号") & "\'"
    adt = acmd.ExecuteReader
    If adt.DataRows.Count > 0 Then
        adr("单价") = adt.DataRows(0)("成本价")
    Else
        adr("单价") = Nothing
    End If
End If
《MainTableChanged》事件
If MainTable.Name = "订单" Then
    DataTables("订单").DataCols("单价").RaiseDataColChanged()
End if

--  作者:wilson
--  发布时间:2012/8/4 8:57:00
--  

谢谢


--  作者:wilson
--  发布时间:2012/8/4 9:22:00
--  

 

改为:

If e.DataCol.Name = "产品编号" Then
Dim acmd As New SQLCommand
Dim adt As DataTable
Dim adr As DataRow = e.DataRow
acmd.CommandText = "SELECT 成本价 From {产品表} Where [产品编号] = \'" & adr("产品编号") & "\'Order By 日期 Desc"
adt = acmd.ExecuteReader
If adt.DataRows.Count > 0 Then
adr("单价") = adt.DataRows(0)("成本价")
Else
adr("单价") = Nothing
End If
End If

改为上述代码可以直接显示单价。

如果要是产品表的成本价改变了,订单表的单价自动更新为最新的单价。不知如何解决。


--  作者:wilson
--  发布时间:2012/8/4 10:58:00
--  

问题已解决

非常感谢您的帮助