以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  麻烦看一下 计算单价 的公式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8372)

--  作者:gaoqr
--  发布时间:2010/10/14 7:48:00
--  麻烦看一下 计算单价 的公式

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算单价.table

 

公式比较简单:

For Each dr1 As DataRow In DataTables("实体材料分析").Select("材料编号 Is not Null")   \'计算实体材料分析表中材料市场价
    If dr1("RCJ") = "W" Then
        Dim dr2 As DataRow = DataTables("使用材料").Find("[材料编号] = \'" & dr1("材料编号") & "\' And [序号1] = \'" & dr1("序号1")&"\'")
    Else
        Dim dr2 As DataRow = DataTables("使用材料").Find("材料编号 = \'" & dr1("材料编号") & "\'")
        If dr2("市场价") > 0 Then
            dr1("市场价") = dr2("市场价")
        Else
            dr1("市场价") = dr2("定额价")
        End If
    End If
Next

 

红色字体部分的命令没有执行。自己找不到原因了。


--  作者:pyh6918
--  发布时间:2010/10/14 8:14:00
--  

dr1("序号1")&"\'") 没看程序,是不是这少了空格

 

dr1("序号1") & "\'") 这样看看


--  作者:czy
--  发布时间:2010/10/14 9:52:00
--  
Dim str As String
For Each dr1 As DataRow In DataTables("实体材料分析").Select("材料编号 Is not Null")   \'计算实体材料分析表中材料市场价
    If dr1("RCJ") = "W" Then
        str = "[材料编号] = \'" & dr1("材料编号") & "\' And [序号1] = \'" & dr1("序号1") & "\'"
    Else
        str = "材料编号 = \'" & dr1("材料编号") & "\'"
    End If
    Dim dr2 As DataRow = DataTables("使用材料").Find(str)
    If dr2("市场价") > 0 Then
        dr1("市场价") = dr2("市场价")
    Else
        dr1("市场价") = dr2("定额价")
    End If
Next

--  作者:gaoqr
--  发布时间:2010/10/14 10:51:00
--  

原来还需要增加一个变量。

 

谢谢 czy 版主