使用菜单中的 % 命令对 实体材料分析表 单位是 % 的行的 金额 求值
Dim a As Table = Tables("实体预算书.实体材料分析")
Dim r As Integer
r = a.Find("%", 0, "单位", True, True, False)
If r = - 1 Then
MessageBox.Show("此项目不包含 % 材料", "提示")
Dim S1 As Double = a.Compute("Sum(金额)", "RCJ = 'R'")
Dim S2 As Double = a.Compute("Sum(金额)", "RCJ = 'C'")
Dim S3 As Double = a.Compute("Sum(金额)", "RCJ = 'J'")
Dim b As Double = a.Rows(r)("定额用量")
ElseIf a.Rows(r)("材料编号") = "AW0021" Then
DataTables("实体材料分析").DataCols("金额").Expression = "S2*b/100"
End If
红色字体代码出现错误(有7个材料编号的单位是%,需要对“RCJ”列为“R” 、“C”、“J”求和后,乘以一个百分比数获得金额)
已解决!方法是参照了帮助中下面代码:
Dim exp As String = "[数量] * [单价] * 0.8"
Dim drs As List(of
DataRow) = DataTables("订单").Select("数量 > 500")
For Each dr As DataRow In drs
dr("金额") = Eval(exp,dr)
Next
单元格公式这样做。
[此贴子已经被作者于2009-2-15 12:15:57编辑过]
错误提示,没有找到列s2,问题在于:
DataTables("实体材料分析").DataCols("金额").Expression = "S2*b/100"
那里来的s2啊
s2是变量:Dim S2 As Double = a.Compute("Sum(金额)", "RCJ = 'C'")
我知道"S2*b/100"是错误,但不知道怎样修改。
"S2*b/100" 中:
S2表示:对
RCJ 列为
C 的
金额 求和
b=0.75
上面的公式还是有问题。
本意是只对单位是 % 的金额求值,其他金额不变。上面的公式是对整列求值(只有一个统一的值)。
请各位再指点一下。
这个问题就是对单元格求值。
DataTables("实体材料分析").DataCols("金额").Expression 是对金额列求值。
Compute(Expression, Filter) 要求表达式必须是
聚合函数 。
上面两个公式都不可使用。使用什么公式可只对单位是 % 的金额求值?请高手指点。
谢谢!
别用%,换个字符代替%看看,%可能在数据库中有特殊的意义。
换个字符是可以,现在问题是找不到合适的公式。
Compute(Expression, Filter)可以根据条件求值,但 Expression 必须是聚合函数 。
.Expression 是对整个列求值。
我现在是想对单位是 % 的金额求值,公式为S2 & "*" & b & "/100" ,找不到合适的函数。
上面的公式正确,只需对一个单元格求值,而不改变其他内容。
请他爸指点!
[此贴子已经被作者于2009-2-11 10:03:32编辑过]
没有数据源,也不太明白你的意思,无法帮忙。
只能估计,可以考虑用代码吧,s2和b都是通过代码计算的。